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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-54902— Oj: Use-After-Free in Oj::Parser SAJ Long Key Callback

AI Predicted 8.1 Difficulty: Moderate EPSS 0.25% · P17

Possible ATT&CK Techniques 1AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 1

VendorProductVersion RangeStatus
ohler55oj< 3.17.2affected
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-54902

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 SAJ Long Key Callback
Source: NVD (National Vulnerability Database)
Vulnerability Description
Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. Prior to version 3.17.2, is vulnerable to Use-After-Free when in SAJ mode. The Oj::Parser does not protect cached object keys (≥ 35 bytes) from garbage collection, and a Ruby callback that triggers GC inside hash_end can cause the key string to be reclaimed while the C parser still holds a pointer to it. The subsequent access to the freed string VALUE results in a segfault, confirmed by an RIP pointing to address 0x4242 (a canary-style pattern suggesting control over the freed memory's content). This issue has been fixed in version 3.17.2.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
释放后使用
Source: NVD (National Vulnerability Database)
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之前版本存在资源管理错误漏洞,该漏洞源于SAJ模式下存在释放后重用问题,Oj::Parser未保护缓存的键(≥35字节)免受垃圾回收影响,Ruby回调触发GC可能导致释放后访问,从而产生段错误。
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

VendorProductAffected VersionsCPESubscribe
ohler55oj < 3.17.2 -

II. Public POCs for CVE-2026-54902

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-54902

登录查看更多情报信息。

Vendor Advisories for CVE-2026-54902 (1)

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

CVE-2026-545927.5 HIGHOj: Stack Buffer Overflow in Oj::Doc#each_child via Deeply Nested Input
CVE-2026-545005.3 MEDIUMOj: intern.c form_attr has an uninitialized stack read
CVE-2026-54897Oj : Use-After-Free in Oj::Doc Iterators via Reentrant Close
CVE-2026-54903Oj: Integer Overflow in Oj.load 2GB String Handling
CVE-2026-54899Oj: Use-After-Free in Oj::Parser Symbol Key Cache Toggle
CVE-2026-54901Oj: Use-After-Free in Oj::Parser array_class/hash_class GC Marking
CVE-2026-54900Oj: Negative-Size memcpy in Oj::Parser create_id Attribute Handling
CVE-2026-54896Oj: Heap Buffer Overflow in Oj.dump Exception Serialization via Large Indent
CVE-2026-54502Oj: Stack Buffer Overflow in Oj.dump via Large Indent
CVE-2026-54898Oj: Use-After-Free in Oj::Parser SAJ Callback via Input Mutation

IV. Related Vulnerabilities

V. Comments for CVE-2026-54902

No comments yet


Leave a comment