Read the docs
TI-2026-39675 Aliases CVE-2026-54903GHSA-475m-ph3x-64gp

Oj: Integer Overflow in Oj.load 2GB String Handling

Priority HIGH 67CWE-190Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
None · None · Low
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.

Summary

Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.2, Oj.load is vulnerable to heap corruption when parsing a JSON string longer than 2 GB. An integer overflow in buf_append_string (buf.h:61) converts the string length to a large negative size_t, causing memcpy to copy an astronomically large amount of data out of bounds. This crashes the process and can corrupt adjacent heap memory. The issue has been fixed in version 3.17.2.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00407 35th percentileScored 2026-11-07
Fix Fixed oj (ohler55): 3.17.2oj (RubyGems): 3.17.3

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ohler55ojbefore 3.17.23.17.2Patch availableCNA
—oj (RubyGems)before 3.17.33.17.3Patch availableGHSA-475m-ph3x-64gp
  • oj Vendorohler55 Affected before 3.17.2 Fixed in 3.17.2 Patch available CNA
  • oj (RubyGems) Vendor— Affected before 3.17.3 Fixed in 3.17.3 Patch available GHSA-475m-ph3x-64gp

Remediation

  • Fix · CNA oj (ohler55) Fixed in 3.17.2
  • Fix · GHSA-475m-ph3x-64gp oj (RubyGems) Fixed in 3.17.3 Advisory →

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-54903
  2. 2026-10-03 Alias added: GHSA-475m-ph3x-64gp

References

  • TI-2026-39426 Oj: Stack Buffer Overflow in Oj::Doc#each_child via Deeply Nested Input CVSS 3.1HIGH 7.5
  • TI-2026-39672 Oj: Negative-Size memcpy in Oj::Parser create_id Attribute Handling CVSS 4.0MEDIUM 6.3
  • TI-2026-39348 Oj: Stack Buffer Overflow in Oj.dump via Large Indent CVSS 4.0MEDIUM 6.3
  • TI-2026-39674 Oj: Use-After-Free in Oj::Parser SAJ Long Key Callback CVSS 4.0MEDIUM 6.3
  • TI-2026-39673 Oj: Use-After-Free in Oj::Parser array_class/hash_class GC Marking CVSS 4.0MEDIUM 6.3
  • TI-2026-39671 Oj: Use-After-Free in Oj::Parser Symbol Key Cache Toggle CVSS 4.0MEDIUM 6.3
See all 10 →

Sources