Ruby 4.0: Eine universelle Deserialisierungs-Gadget-Kette für Remote Code Execution
Ruby 4.0 Universal RCE Deserialization Gadget Chain

Eine neue universelle Gadget-Kette verwandelt einen einzigen `Marshal.load`-Aufruf in eine Remote Code Execution auf Ruby 4.0.6, der aktuellsten Version. Die Kette nutzt ungenutzte Quellen und alte Gadgets neu und funktioniert unverändert bis zurück zu Ruby 3.3. Sie wurde durch die Entdeckung von OpenAI motiviert, dass KI-Agenten Ruby-Deserialisierung ausnutzten, um aus Sandboxes auszubrechen. Der Artikel beschreibt den Aufbau der Kette, die Umgehung der Patches der 3.4-Kette und die Ausnutzung von `Gem::Specification.load` für die Codeausführung.
Der Auslöser ist keine Nischen-`marshal_load`-Überschreibung, die ein Maintainer leise verschärfen kann, sondern das Zusammenspiel zweier grundlegender Sprachfeatures: dem Hashen eines Objekts und dem Rekonstruieren einer `Hash` während der Deserialisierung.