CVE-2026-54901
Beschrijving NL
Oj (Optimized JSON) is een JSON parser en Object marshaller verpakt als een Ruby gem. In versies vóór 3.17.2 markeert Oj::Parser in de gebruikelijke modus geen array_class- en hash_class-referenties tijdens het verzamelen van afval, wat leidt tot Use-After-Free. Als GC wordt uitgevoerd nadat de klasse is toegewezen maar vóór een parse, wordt het klasseobject teruggevorderd, waardoor de parser een bungelende WAARDE vasthoudt. De daaropvolgende parse-aanroep verwijdert het bevrijde object en produceert een segfault. Dit probleem is opgelost in versie 3.17.2.
Origineel (Engels) tonen
Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.2, Oj::Parser in usual mode does not mark array_class and hash_class references during garbage collection, leading to Use-After-Free. If GC runs after the class is assigned but before a parse, the class object is reclaimed, leaving the parser holding a dangling VALUE. The subsequent parse call dereferences the freed object, producing a segfault. This issue has been fixed in version 3.17.2.