Cadena de gadgets universal de deserialización RCE en Ruby 4.0

Ruby 4.0 Universal RCE Deserialization Gadget Chain

Cadena de gadgets universal de deserialización RCE en Ruby 4.0

Una nueva cadena universal convierte una sola llamada a Marshal.load en ejecución de comandos en Ruby 4.0.6, la versión más reciente. La cadena, construida con gadgets de fuentes no explotadas y reutilizando otros, funciona en versiones desde 3.3. Se basa en Gem::Specification.load para ejecutar código arbitrario y utiliza Gem::StubSpecification y Gem::URI::Generic para desencadenar la carga. El artículo detalla cómo se rompió la cadena anterior y cómo se superaron las nuevas restricciones.

El desencadenante no es una anulación especializada de marshal_load que un mantenedor pueda ajustar silenciosamente, sino la interacción entre dos características fundamentales del lenguaje: aplicar hash a un objeto y reconstruir un Hash durante la deserialización.

Más de este día

2026-08-14