Cybersecurity-Projects/PROJECTS/beginner/deserialization-gadget-lab/CHANGELOG.md

822 B

Changelog

All notable changes to rube are documented here.

The format follows Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Marshal stream parser that extracts structure, class names, and gadget sinks from a serialized payload without ever calling Marshal.load
  • Sink classification along the gated/ungated dispatch axis: marshal_load and _load are reached through a respond_to? check, while hash, eql?, <=> and []= are dispatched blind
  • Stream validation rejecting truncated payloads, unsupported version bytes, unknown type tags, out-of-bounds object links and symlinks, oversized fixnum widths, trailing bytes, and nesting beyond a configurable depth limit