Loading...
Skip to main content

CVE-2026-57435

LOW

Nokogiri: Possible Use-After-Free when setting an attribute value via `Nokogiri::XML::Attr#value=` or `#content=`

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

Summary

### Summary Nokogiri’s CRuby native extension could leave a Ruby wrapper pointing to freed memory when replacing the value of an XML attribute. If Ruby code had already accessed an attribute child node, `Nokogiri::XML::Attr#value=` could free the underlying native child node while the wrapper remained reachable through the document node cache. A later use of the freed child node or a Ruby GC mark could dereference an invalid pointer, causing an invalid read and a possible segfault. Nokogiri 1.19.4 preserves any already-wrapped attribute child nodes before replacing the attribute value. JRuby is not affected. ### Severity The Nokogiri maintainers have evaluated this as low severity. Reaching it requires an unusual API-usage pattern that does not arise during normal use. The application must directly access an attribute's child node and then replace that same attribute's value via `Attr#value=` or `#content=`. Nokogiri 1.19.4 makes this pattern safe with no change to the public API. Already-wrapped attribute child nodes are preserved before the value is replaced. ### Mitigation Upgrade to Nokogiri 1.19.4 or later. As a workaround, avoid accessing attribute child nodes directly via `Attr#child` or similar before mutating the same attribute’s value. ### 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.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 4.8 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:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U

Frequently Asked Questions

What is CVE-2026-57435?
Nokogiri: Possible Use-After-Free when setting an attribute value via `Nokogiri::XML::Attr#value=` or `#content=` This vulnerability has been assigned a severity rating of LOW (CVSS score: 4.8/10).
How do I check if my project is affected by CVE-2026-57435?
CVE-2026-57435 affects nokogiri. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-57435 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
4.8

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

Also Known As

GHSA-phwj-rprq-35pp

Related CVEs

Check if you're affected

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

Scan Your Dependencies