CVE-2026-54500

MEDIUMPre-NVD 5.35.3
EchelonGraph scoreMEDIUM confidence

This medium-severity CVE scores 5.3 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.2%, top 90% 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).

Triggered by: NVD CVSS baseline
Sources: epss, secondary
5.3
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS: 0%CVSS: 5.3Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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.

CVSS v3
5.3
EG Score
5.3(medium)
EPSS
9.7%
KEV
Not listed

Published

June 19, 2026

Last Modified

July 1, 2026

Advisory Details (1)

Auto-updated Jul 1, 2026
🔬 Proof of concept available. Patch available. Sources: github.
github Patch Available🟡 PoC Available

Uninitialized stack memory read in Oj.load object mode via long keys · Advisory · ohler55/oj · GitHub

https://github.com/ohler55/oj/security/advisories/GHSA-fm7p-mprw-wjm9

Vendor Advisories for CVE-2026-54500(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)
PackageVulnerable rangeFixed inDependents
oj0.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 17× in last 7d / 29× 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.

  1. 2026-07-07 01:21 UTCEG score recompute
  2. 2026-07-06 16:27 UTCEPSS rescore
  3. 2026-07-06 16:27 UTCEPSS rescore
  4. 2026-07-06 03:37 UTCEG score recompute
  5. 2026-07-06 02:23 UTCEPSS rescore
  6. 2026-07-06 02:23 UTCEPSS rescore
  7. 2026-07-05 05:55 UTCEG score recompute
  8. 2026-07-05 02:31 UTCEPSS rescore
  9. 2026-07-05 02:30 UTCEPSS rescore
  10. 2026-07-04 08:10 UTCEG score recompute
  11. 2026-07-04 06:31 UTCEPSS rescore
  12. 2026-07-04 06:31 UTCEPSS rescore
  13. 2026-07-03 10:26 UTCEG score recompute
  14. 2026-07-02 12:42 UTCEG score recompute
  15. 2026-07-01 15:07 UTCEPSS rescore
  16. 2026-07-01 14:59 UTCEG score recompute
  17. 2026-06-30 17:16 UTCEG score recompute
  18. 2026-06-29 19:32 UTCEG score recompute
  19. 2026-06-28 21:49 UTCEG score recompute
  20. 2026-06-28 00:06 UTCEG score recompute
  21. 2026-06-27 02:23 UTCEG score recompute
  22. 2026-06-26 04:39 UTCEG score recompute
  23. 2026-06-25 06:56 UTCEG score recompute
  24. 2026-06-24 09:08 UTCEG score recompute
  25. 2026-06-23 11:25 UTCEG score recompute
Show 4 more
  1. 2026-06-22 13:42 UTCEG score recompute
  2. 2026-06-21 15:58 UTCEG score recompute
  3. 2026-06-20 18:06 UTCEG score recompute
  4. 2026-06-19 20:22 UTCEG score recompute

Frequently asked(5)

What is CVE-2026-54500?
CVE-2026-54500 is a medium vulnerability published on June 19, 2026. 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…
When was CVE-2026-54500 disclosed?
CVE-2026-54500 was first published in the National Vulnerability Database on June 19, 2026, with the most recent update on July 1, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-54500 actively exploited?
CVE-2026-54500 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 9.7% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-54500?
CVE-2026-54500 has a CVSS v3 base score of 5.3 (NVD).
How do I remediate CVE-2026-54500?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-54500, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-54500

Explore →

Is Your Infrastructure Affected by CVE-2026-54500?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.