Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-54901— Oj: Use-After-Free in Oj::Parser array_class/hash_class GC Marking

Quick assessment

Affected
ohler55 oj
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Peter Ohler oj是Peter Ohler个人开发者的一个高效JSON解析与代码生成的前端库。 Peter Ohler oj 3.17.2之前版本存在资源管理错误漏洞,该漏洞源于Oj::Parser在常规模式下未标记array_class和hash_class引用,导致释放后重用,如果垃圾回收在类分配后但解析前运行,类对象被回收,解析器持有悬空VALUE,后续解析调用解引用已释放对象,产生段错误。

AI Predicted 5.5 Difficulty: Theoretical EPSS 0.33% · P25

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 1

VendorProduct Version RangeStatus
ohler55 oj < 3.17.2 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-54901

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Oj: Use-After-Free in Oj::Parser array_class/hash_class GC Marking
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
释放后使用
Source: CVE Program / CVE List V5
Vulnerability Title
Peter Ohler oj 资源管理错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Peter Ohler oj是Peter Ohler个人开发者的一个高效JSON解析与代码生成的前端库。 Peter Ohler oj 3.17.2之前版本存在资源管理错误漏洞,该漏洞源于Oj::Parser在常规模式下未标记array_class和hash_class引用,导致释放后重用,如果垃圾回收在类分配后但解析前运行,类对象被回收,解析器持有悬空VALUE,后续解析调用解引用已释放对象,产生段错误。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
ohler55 oj < 3.17.2 -

II. Public POCs for CVE-2026-54901

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-54901

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-54901 (1)

Same Patch Batch · ohler55 · 2026-06-30 · 11 CVEs total

CVE-2026-54592 7.5 HIGH Oj: Stack Buffer Overflow in Oj::Doc#each_child via Deeply Nested Input
CVE-2026-54500 5.3 MEDIUM Oj: intern.c form_attr has an uninitialized stack read
CVE-2026-54897 Oj : Use-After-Free in Oj::Doc Iterators via Reentrant Close
CVE-2026-54903 Oj: Integer Overflow in Oj.load 2GB String Handling
CVE-2026-54899 Oj: Use-After-Free in Oj::Parser Symbol Key Cache Toggle
CVE-2026-54902 Oj: Use-After-Free in Oj::Parser SAJ Long Key Callback
CVE-2026-54900 Oj: Negative-Size memcpy in Oj::Parser create_id Attribute Handling
CVE-2026-54896 Oj: Heap Buffer Overflow in Oj.dump Exception Serialization via Large Indent
CVE-2026-54502 Oj: Stack Buffer Overflow in Oj.dump via Large Indent
CVE-2026-54898 Oj: Use-After-Free in Oj::Parser SAJ Callback via Input Mutation

IV. Related Vulnerabilities

V. Comments for CVE-2026-54901

No comments yet


Leave a comment