Skip to main content

Nokogiri EUVDEUVD-2026-65529

| CVE-2026-79771 MEDIUM
Memory Leak (CWE-401)
2026-08-25 VulnCheck GHSA-rh9x-7xjc-vwx2
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify XSLT parameter endpoint
  2. Delivery
    Craft requests embedding null bytes
  3. Exploit
    Submit sustained high-rate traffic
  4. Execution
    Heap memory leaks silently per call
  5. Persist
    Process memory exhaustion
  6. Impact
    Service availability loss

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource cleanup, leak prevention
Exploitation Conditions

Exploitation requires the target application to explicitly pass attacker-controllable data as parameters to Nokogiri::XSLT::Stylesheet#transform, and the attacker-supplied input must contain at least one null byte to trigger the leaking code path. Applications that do not use Nokogiri's XSLT transform feature, that use it only with static or internally-controlled parameters, or that sanitize transform inputs to strip null bytes are not affected - regardless of Nokogiri version. Meaningful denial of service further requires sustained high-call-rate traffic to accumulate sufficient leaked memory, since each individual leak is only 24-32 bytes; low-frequency or isolated requests present negligible practical risk. The CVSS AV:N/PR:N metrics apply only in the scenario where the application exposes an XSLT-parameterized endpoint to unauthenticated network clients; applications behind authentication or that restrict XSLT parameter sources to trusted callers face correspondingly reduced exposure.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N) characterizes a network-reachable, low-complexity attack requiring no privileges or user interaction, producing low availability impact on the vulnerable system with no confidentiality or integrity consequence. However, this must be read carefully against the real-world impact signals: the Nokogiri maintainers independently assessed CVSS 5.3 Moderate, citing the 24-32 byte per-leak allocation that requires sustained high-call-rate attacker traffic to produce meaningful memory growth. EPSS data was not provided, and the vulnerability is not in CISA KEV, so exploitation probability cannot be quantitatively assessed. No public exploit code has been identified. The critical limiting factor is application architecture: only applications that explicitly pass raw, unvalidated user-supplied data to XSLT transform parameters are exposed - this is an uncommon code pattern, not default behavior, which substantially narrows the realistic attack surface beyond what the CVSS network vector alone implies. Risk is effectively zero for applications that do not use parameterized XSLT transforms with untrusted input.

Exploit ScenarioDerived

An attacker discovers or infers that a web application exposes an endpoint which accepts user-supplied data and passes it as a parameter to a Nokogiri XSLT transform - for example, an XML document transformation API. The attacker submits a high volume of requests with null bytes embedded in the relevant parameter field. Each request silently leaks 24-32 bytes of heap memory in the application process; under sustained traffic the process memory grows continuously until the operating system or a process manager terminates it due to resource exhaustion, causing a denial of service. No public exploit code has been identified, and the attack requires knowledge of or access to the specific XSLT-parameterized endpoint.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 25, 2026

Heap memory leaks in Nokogiri's XSLT transform method (versions before 1.19.3) enable gradual denial of service against long-running Ruby applications that pass attacker-controlled input to Nokogiri::XSLT::Stylesheet#transform parameters containing null bytes. Each null-byte-bearing call leaks approximately 24-32 bytes of heap memory; meaningful service degradation requires sustained, high-rate malicious traffic against the specific code path. No public exploit has been identified at time of analysis, and the vulnerability is absent from CISA KEV. Notably, the VulnCheck-reported CVSS 4.0 score of 6.9 is higher than the Nokogiri maintainers' own assessment of CVSS 5.3 Moderate, reflecting scoring convention differences rather than disagreement on impact.

RemediationAI

The primary fix is upgrading Nokogiri to version 1.19.3 or later, which resolves the heap memory leak in the XSLT transform parameter handling path; this is confirmed by the vendor advisory at https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-v2fc-qm4h-8hqv. For teams unable to upgrade immediately, the Nokogiri maintainers recommend validating all untrusted XSLT transform parameters before passing them to Nokogiri::XSLT::Stylesheet#transform - specifically, rejecting or stripping null bytes from input strings before they reach the transform call. This input validation workaround eliminates the attack vector without requiring a gem upgrade, but it introduces a code-change dependency and requires thorough coverage of every call site that accepts external input; incomplete coverage leaves residual exposure. Note that the exception is still raised on null-byte input in vulnerable versions, so exception rescue blocks alone do not prevent the memory leak and must not be treated as a compensating control.

Affected VersionsENISA

nokogiri 0 <1.19.3

Affected Packages

rubygems nokogiri fix: 1.19.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in rubygems

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Nokogiri is a widely-used Ruby gem for parsing and manipulating HTML and XML (CPE: cpe:2.3:a:sparklemotion:nokogiri:*:*:*:*:*:*:*:*) that wraps the libxml2 and libxslt C libraries. The vulnerability exists in the Nokogiri::XSLT::Stylesheet#transform method, which delegates parameter handling to the underlying libxslt processor. When a Ruby String containing an embedded null byte is passed as a transform parameter, the C layer allocates heap memory but fails to free it before the null-byte exception is raised - a textbook CWE-401 (Missing Release of Memory after Effective Lifetime) defect. The null byte causes premature string termination at the C layer while Ruby's object model still accounts for the full string length, creating a code path that exits without invoking the corresponding deallocation. Because the exception is still raised normally, the leak is silent and accumulates undetected across repeated calls.

Know when Nokogiri gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Network-reachable with no privileges required, but availability impact is Low given the slow, small-per-leak accumulation requiring sustained traffic; no confidentiality or integrity impact applies.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE 6.8 MEDIUM
AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
Red Hat 5.3 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 25, 2026 - 17:17 EUVD
CVE Published
Aug 25, 2026 - 15:16 cve.org
MEDIUM 6.9

DescriptionCVE.org

Nokogiri versions before 1.19.3 contain a memory leak in the XSLT Stylesheet transform method when processing Ruby strings containing null bytes. Attackers can exploit this by passing attacker-controlled input with null bytes to transform parameters, causing heap allocations to leak and enabling denial of service against long-running processes.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
High
dominant Ruby XML/HTML parsing gem, broad ecosystem adoption
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
High
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2022-29181 HIGH POC
8.2 May 20

Nokogiri is an open source XML and HTML library for Ruby. Rated high severity (CVSS 8.2), this vulnerability is remotely

CVE-2019-5477 CRITICAL
9.8 Aug 16

A command injection vulnerability in Nokogiri v1.10.3 and earlier allows commands to be executed in a subprocess via Rub

CVE-2026-79770 HIGH
8.7 Aug 25

Denial-of-service in Nokogiri before 1.19.3 stems from three distinct ReDoS vulnerabilities in the CSS selector tokenize

CVE-2026-79769 HIGH
8.7 Aug 25

Out-of-bounds memory read in Nokogiri (CRuby) versions before 1.19.4 crashes the host Ruby process when application code

CVE-2025-71346 HIGH
8.7 Aug 25

Heap-based buffer under-read in libxml2's XML Schema identity constraint processor affects all Nokogiri releases prior t

CVE-2022-23476 HIGH
7.5 Dec 08

Nokogiri is an open source XML and HTML library for the Ruby programming language. Rated high severity (CVSS 7.5), this

CVE-2022-24836 HIGH
7.5 Apr 11

Nokogiri is an open source XML and HTML library for Ruby. Rated high severity (CVSS 7.5), this vulnerability is remotely

CVE-2021-41098 HIGH
7.5 Sep 27

Nokogiri is a Rubygem providing HTML, XML, SAX, and Reader parsers with XPath and CSS selector support. Rated high sever

CVE-2026-79772 MEDIUM
6.9 Aug 25

Unchecked return value in Nokogiri's CRuby extension (versions 1.5.1 through 1.19.0) causes the `canonicalize` method to

CVE-2026-57235 MEDIUM
6.3 Jun 25

Out-of-bounds read in Nokogiri's `NodeSet#[]` method (all versions before 1.19.4) enables an attacker who can supply a l

CVE-2020-26247 MEDIUM
4.3 Dec 30

Nokogiri is a Rubygem providing HTML, XML, SAX, and Reader parsers with XPath and CSS selector support. Rated medium sev

CVE-2026-57234 LOW
2.6 Jun 25

NONET network restriction bypass in Nokogiri's JRuby implementation permits external resource fetching during XML Schema

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy