Loading...
Skip to main content

CVE-2026-57235

MEDIUM

Nokogiri: Possible Out-of-Bounds Read in `Nokogiri::XML::NodeSet#[]`

Published June 19, 2026Updated July 8, 2026Source: osv

Summary

### Summary `Nokogiri::XML::NodeSet#[]` (and its alias `#slice`) checked the requested index against the node set's bounds using a 32-bit-truncated copy of the index. A large negative index could pass the check and then be used at full width, reading outside the node set's storage. On CRuby this is an out-of-bounds read that typically crashes the process; on JRuby it is not memory-unsafe but returns an incorrect node. Nokogiri 1.19.4 performs the bounds check against the full-width index. ### Severity The Nokogiri maintainers have evaluated this as medium severity. Exploitation requires an application to pass an attacker-controlled integer to `NodeSet#[]`. The primary impact is a controlled crash (denial of service), with potential for memory disclosure on CRuby. On JRuby, Nokogiri is not affected by this vulnerability. ### Mitigation Upgrade to Nokogiri 1.19.4 or later. As a workaround, applications that index a `NodeSet` with externally-supplied integers can validate the index against `node_set.length` before use, or avoid passing untrusted values as an index. ### Credit This issue was responsibly reported by Zheng Yu from depthfirst.com.

Remediation

Upgrade to the fixed version using your package manager.

Bundler
Update nokogiri to 1.19.4 or later
gem install nokogiri -v 1.19.4

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

PackageEcosystemAffectedFixed In
nokogiri
rubygems
1.0.0, 1.0.1, 1.0.2, 1.0.3 (+190 more)1.19.4

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-125
    Out-of-bounds ReadMITRE
  • CWE-190
    Integer OverflowMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 5.9 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Confidentiality
Integrity
Availability

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N

Frequently Asked Questions

What is CVE-2026-57235?
Nokogiri: Possible Out-of-Bounds Read in `Nokogiri::XML::NodeSet#[]` This vulnerability has been assigned a severity rating of MEDIUM (CVSS score: 5.9/10).
How do I check if my project is affected by CVE-2026-57235?
CVE-2026-57235 affects nokogiri. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-57235 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
5.9

Exploitation requires specific conditions or has limited impact. Remediate within weeks.

Also Known As

GHSA-5prr-v3j2-97mh

Related CVEs

  • CVE-2019-18197
    HIGH

    Nokogiri affected by libxslt Use of Uninitialized Resource/Use After Free vulnerability

  • CVE-2021-41098
    HIGH

    Improper Restriction of XML External Entity Reference (XXE) in Nokogiri on JRuby

  • CVE-2021-30560
    HIGH

    Nokogiri has vulnerable dependencies on libxml2 and libxslt

  • CVE-2017-16932
    HIGH

    Nokogiri gem, via libxml, is affected by DoS vulnerabilities

  • CVE-2022-29181
    HIGH

    Nokogiri Improperly Handles Unexpected Data Type

  • CVE-2021-3537
    MEDIUM

    Nokogiri Implements libxml2 version vulnerable to null pointer dereferencing

  • CVE-2026-57236
    LOW

    Nokogiri: Possible Use-After-Free when `Nokogiri::XML::Document#encoding=` raises an exception

  • CVE-2026-57436
    LOW

    Nokogiri: Possible Use-After-Free when setting `Document#root=` to an invalid node type

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies