Back

HIGH

Oj : Use-After-Free in Oj::Doc Iterators via Reentrant Close

Published Jun 30, 2026

Description

Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. Prior to 3.17.2, Oj::Doc iterators (each_value, each_child, each_leaf) were vulnerable to a heap use-after-free. When a Ruby block yielded during iteration calls doc.close or d.close, the document's heap memory is freed while the C iterator is still running. When control returns from the block, the iterator reads from the freed region, producing a use-after-free accessible from pure Ruby. This issue has been fixed in version 3.17.2.

Affected products

Remediation

Red Hat statement

Red Hat's only product shipping the Oj Ruby gem (Compliance Backend) already includes version 3.17.3, which contains the fix for this vulnerability. No Red Hat products are affected.

Metrics

References (6)

Change history (0)

No recorded changes yet.

Sources
CVE.org / MITRE
Status PUBLISHED
Assigner GitHub_M
Published Jun 30, 2026
Updated Jul 1, 2026
Reserved Jun 16, 2026
CISA Vulnrichment
Updated Jul 1, 2026
NVD
Status Deferred
Modified Jul 1, 2026
Red Hat
Severity Important
Public date Jun 30, 2026
GHSA-9PPP-W3G4-FH4Q