Preliminary research
Ruby 4.0 Universal RCE Deserialization Gadget Chain
AI-collected research leads through 6 October 2026, including bounded month-by-month reviews of selected social and community sources from January through September. Unranked, incomplete, not community-vetted, and subject to change.
A universal Marshal.load chain for Ruby 4.0.6, built from RubyGems classes that naming Gem::SpecFetcher autoloads. Time._load validates its zone inside rb_rescue, discarding the exception, and calls to_str, which Gem::URI::Generic aliases to to_s to drive a download that writes attacker-hosted Ruby to disk by directory traversal. A Gem::StubSpecification used as a Hash key gets hash called while Marshal rebuilds the hash, reaching Gem::Specification.load, which evals that file.
Record
- Researcher
- Luke Jahnke
In the archive
Related sources
Tags
This page is the archive's own catalogue record. The research is the work of Luke Jahnke, first published at the original source. Preserved copies are kept so the citation survives its host.