Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.3, Oj::Doc#each_child, when invoked recursively over a deeply nested JSON document, overflows a fixed-size stack buffer and aborts the process, leading to DoS. In a two-step chain in ext/oj/fast.c, doc_each_child increments doc->where past the where_path[MAX_STACK = 100] array with no bounds check and never restores it (the doc->where-- is missing), so calling each_child recursively from inside the yield block drives doc->where beyond the array. On the next entry the function copies the path into the 800-byte stack-local buffer save_path[MAX_STACK] using wlen = doc->where - doc->where_path, so when the previous recursive call left doc->where past where_path[100] the wlen exceeds MAX_STACK and the memcpy overflows save_path on the C stack; because the Oj::Doc parser imposes no JSON nesting-depth limit (relying on a C-stack pressure check), deeply nested attacker input reaches this path. This issue has been fixed in version 3.17.3.
CVE-2026-54592
This high-severity CVE scores 7.5 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.3%, top 82% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 7.5
- EG Score
- 7.5(medium)
- EPSS
- 17.7%
- KEV
- Not listed
Published
June 19, 2026
Last Modified
July 1, 2026
Advisory Details (1)
Auto-updated Jul 1, 2026Stack Buffer Overflow in Oj::Doc#each_child via Deeply Nested Input · Advisory · ohler55/oj · GitHub
https://github.com/ohler55/oj/security/advisories/GHSA-3m6q-jj5j-38c9Vendor Advisories for CVE-2026-54592(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Affected Packages
(1 across 1 ecosystem)
RubyGems(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| oj | 0.5 ... 3.9.2 (294 versions) | 3.17.3 | — |
Weakness Classification(2)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 21× in last 7d / 41× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-06 20:38 UTCEG score recompute
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 07:31 UTCEG score recompute
- 2026-07-06 02:23 UTCEPSS rescore
- 2026-07-06 02:23 UTCEPSS rescore
- 2026-07-05 18:28 UTCEG score recompute
- 2026-07-05 05:26 UTCEG score recompute
- 2026-07-05 02:31 UTCEPSS rescore
- 2026-07-05 02:30 UTCEPSS rescore
- 2026-07-04 15:34 UTCEG score recompute
- 2026-07-04 06:31 UTCEPSS rescore
- 2026-07-04 06:31 UTCEPSS rescore
- 2026-07-04 02:32 UTCEG score recompute
- 2026-07-03 13:11 UTCEG score recompute
- 2026-07-03 00:09 UTCEG score recompute
- 2026-07-02 11:07 UTCEG score recompute
- 2026-07-01 21:36 UTCEG score recompute
- 2026-07-01 15:07 UTCEPSS rescore
- 2026-07-01 08:35 UTCEG score recompute
- 2026-06-30 19:33 UTCEG score recompute
- 2026-06-30 06:31 UTCEG score recompute
- 2026-06-29 17:28 UTCEG score recompute
- 2026-06-29 04:24 UTCEG score recompute
- 2026-06-28 15:21 UTCEG score recompute
Show 16 moreShow fewer
- 2026-06-28 02:19 UTCEG score recompute
- 2026-06-27 13:18 UTCEG score recompute
- 2026-06-27 00:16 UTCEG score recompute
- 2026-06-26 11:14 UTCEG score recompute
- 2026-06-25 20:01 UTCEG score recompute
- 2026-06-25 06:58 UTCEG score recompute
- 2026-06-24 17:57 UTCEG score recompute
- 2026-06-24 04:48 UTCEG score recompute
- 2026-06-23 15:44 UTCEG score recompute
- 2026-06-23 02:42 UTCEG score recompute
- 2026-06-22 13:40 UTCEG score recompute
- 2026-06-22 00:38 UTCEG score recompute
- 2026-06-21 11:32 UTCEG score recompute
- 2026-06-20 22:29 UTCEG score recompute
- 2026-06-20 09:25 UTCEG score recompute
- 2026-06-19 20:23 UTCEG score recompute
Related CVEs(same CWE)
Same CWE
10 shownCWE-787 · CWE-125
- CVE-2007-0158EG 9.8CRITICAL
- CVE-2007-0899EG 9.8CRITICAL
- CVE-1999-0006EG 9.8EPSS 96%CRITICAL
- CVE-2010-20115EG 9.3CRITICAL
- CVE-2010-4398NVD 7.8EG 9.0 KEVEPSS 94%HIGH
- CVE-2010-3333NVD 7.8EG 9.0 KEVEPSS 100%HIGH
- CVE-2010-2883NVD 7.3EG 9.0 KEVEPSS 100%HIGH
- CVE-2010-1297NVD 7.8EG 9.0 KEVEPSS 100%HIGH
- CVE-2009-3953NVD 8.8EG 9.0 KEVEPSS 100%HIGH
- CVE-2009-3129NVD 7.8EG 9.0 KEVEPSS 100%HIGH
Frequently asked(5)
What is CVE-2026-54592?
When was CVE-2026-54592 disclosed?
Is CVE-2026-54592 actively exploited?
What is the CVSS score of CVE-2026-54592?
How do I remediate CVE-2026-54592?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-54592
Is Your Infrastructure Affected by CVE-2026-54592?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.