Zero Day MonitorZDM
DashboardVulnerabilitiesTrendingZero-DaysNewsAbout
Login
ImpressumPrivacy Policy
Zero Day Monitor © 2026
3198 articles · 183323 vulns · 37/41 feeds (7d)
← Back to list
5.3
CVE-2026-54500PATCHED
rubygems · oj

Oj: intern.c form_attr has an uninitialized stack read

Description

Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.3, Oj.load in :object mode reads uninitialized stack memory (and, for long keys, reads out of bounds) when parsing a JSON object whose key is 254 bytes or longer. The interned bytes can surface to the caller, disclosing process stack memory. In ext/oj/intern.c, form_attr() handles the long-key path by allocating a heap buffer, `b`, populating it with the attribute name, and then freeing it — but it passed the uninitialized stack buffer buf (not b) to rb_intern3(). rb_intern3 therefore reads len + 1 bytes of uninitialized stack memory. When the key length is >= 256, it also reads out of bounds past the 256-byte buf. The resulting bytes are interned and can reach the caller via the produced Symbol or via the EncodingError message raised on invalid UTF-8, leaking process stack contents. This issue has been fixed in version 3.17.3.

Affected Products

VendorProductVersions
rubygemsoj< 3.17.3

References

  • https://github.com/ohler55/oj/security/advisories/GHSA-fm7p-mprw-wjm9(x_refsource_CONFIRM)

Related News (2 articles)

Tier B
CERT-FR3d ago
Multiples vulnérabilités dans les produits IBM (31 juillet 2026)
→ No new info (linked only)
Tier C
VulDB33d ago
CVE-2026-54500 | ohler55 oj up to 3.17.2 JSON Parser form_attr out-of-bounds (GHSA-fm7p-mprw-wjm9)
→ No new info (linked only)
CVSS 3.15.3 MEDIUM
VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
CISA KEV❌ No
Actively exploited❌ No
Patch available
oj@3.17.3
CWECWE-125, CWE-908
PublishedJun 19, 2026
Last enriched33d agov2
Tags
GHSA-fm7p-mprw-wjm9rubygems
Trending Score28
Source articles2
Independent2
Info Completeness9/14
Missing: epss, kev, exploit, iocs, mitre_attack

Community Vote

0
Login to vote
0 upvotes0 downvotes
No votes yet

Related CVEs (5)

NONECVE-2026-66066
Action Pack: Possible arbitrary file read and remote code execution in Active Storage variant processing
Trending: 75
NONECVE-2026-54899
Oj: Use-After-Free in Oj::Parser Symbol Key Cache Toggle
Trending: 25
NONECVE-2026-54897
Oj : Use-After-Free in Oj::Doc Iterators via Reentrant Close
Trending: 25
NONECVE-2026-54898
Oj: Use-After-Free in Oj::Parser SAJ Callback via Input Mutation
Trending: 25
NONECVE-2026-54896
Oj: Heap Buffer Overflow in Oj.dump Exception Serialization via Large Indent
Trending: 25

Pin to Dashboard

Verification

State: unverified
Confidence: 0%

Vulnerability Timeline

CVE Published
Jun 19, 2026
Discovered by ZDM
Jun 19, 2026
Updated: affectedVersions, severity
Jul 1, 2026
Patch Available
Jul 1, 2026

Version History

v2
Last enriched 33d ago
v2Tier C33d ago

Updated vendor to ohler55, product to oj, affected versions to 3.17.2, severity to HIGH, and noted that no exploit is available.

affectedVersionsseverity
via VulDB
v144d ago

Initial creation