Advisory Database
  • Advisories
  • Dependency Scanning
  1. gem
  2. ›
  3. oj
  4. ›
  5. CVE-2026-54897

CVE-2026-54897: Oj: Use-After-Free in Oj::Doc Iterators via Reentrant Close

June 19, 2026 (updated October 6, 2026)

Oj::Doc iterators (each_value, each_child, each_leaf) are vulnerable to a heap use-after-free. When a Ruby block yielded during iteration calls doc.close or d.close, the document’s heap memory is freed while the C iterator is still running. When control returns from the block, the iterator reads from the freed region, producing a use-after-free accessible from pure Ruby.

References

  • github.com/advisories/GHSA-9ppp-w3g4-fh4q
  • github.com/ohler55/oj/security/advisories/GHSA-9ppp-w3g4-fh4q
  • github.com/rubysec/ruby-advisory-db/blob/master/gems/oj/CVE-2026-54897.yml
  • nvd.nist.gov/vuln/detail/CVE-2026-54897
  • www.cve.org/CVERecord/SearchResults?query=CVE-2026-54897

Code Behaviors & Features

Detect and mitigate CVE-2026-54897 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 3.17.3

Fixed versions

  • 3.17.3

Solution

Upgrade to version 3.17.3 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Learn more about CVSS

Weakness

  • CWE-416: Use After Free

Source file

gem/oj/CVE-2026-54897.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:02 +0000.