Web Hack List

Other nomination

Universal Deserialisation Gadget for Ruby 2.x-3.x

A gadget chain built only from Ruby's default classes turns an untrusted Marshal.load into arbitrary command execution, running from Gem::Requirement through Gem::Package::TarReader and Net::BufferedIO to Net::WriteAdapter, which calls any chosen method on any object. It replaces the earlier gadget patched in Ruby 2.7 and works from Ruby 2.0 to 3.0 with no extra gems loaded.

Record

Date

In the archive

Tags

This page is the archive's own catalogue record. The research is the work of its author, first published at the original source. Preserved copies are kept so the citation survives its host.