CVE-2026-54500

MEDIUM

Oj: intern.c form_attr has an uninitialized stack read

Title source: cna
STIX 2.1

Exploitation Summary

EIP tracks 1 public exploit for CVE-2026-54500. PoCs published by HermesNA-1.

AI-analyzed exploit summary This repository contains an auto-generated stub module for CVE-2026-54500, a memory leak vulnerability in the Oj Ruby gem (versions prior to 3.17.3). The module includes placeholder code for a potential exploit but lacks actual PoC implementation, referencing only advisory details.

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.

Exploits (1)

github STUB 1 stars
by HermesNA-1 · pythonpoc
https://github.com/HermesNA-1/SnakeSploit/tree/main/data/modules_generated/cve-2026-54500_optimized_json.py

This repository contains an auto-generated stub module for CVE-2026-54500, a memory leak vulnerability in the Oj Ruby gem (versions prior to 3.17.3). The module includes placeholder code for a potential exploit but lacks actual PoC implementation, referencing only advisory details.

Classification
Stub 98%
Attack Type
Info Leak
Complexity
Moderate
Reliability
Theoretical
Target: Oj (Optimized JSON) Ruby gem versions prior to 3.17.3
No auth needed
Prerequisites: Target must expose a service parsing JSON via Oj.load in :object mode · Network access to the vulnerable service
mistral-large-3 · analyzed Jul 09, 2026 Full analysis →

References (1)

Core 1
Core References

Scores

CVSS v3 5.3
EPSS 0.0020
EPSS Percentile 9.8%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

CISA SSVC

Vulnrichment
Exploitation none
Automatable yes
Technical Impact partial

Details

CWE
CWE-125 CWE-908
Status published
Products (1)
ohler55/oj < 3.17.3
Published Jul 01, 2026
Tracked Since Jul 01, 2026