Preliminary research
Ruby 4.0 Universal RCE Deserialization Gadget Chain
AI-collected research leads through 3 November 2026, including a November–October–September missed-article review and a targeted multilingual search alongside earlier community-source sweeps. 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.