GitHub Advisoryadvisory · RubyGems
GHSA-v2fc-qm4h-8hqv Nokogiri XSLT transform has a memory leak
MEDIUM
Official page ↗
- Aliases
- CVE-2026-79771
- Ecosystem
- RubyGems
- Packages
- nokogiri
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Weaknesses
- CWE-401
- Reviewed
- 2026-05-06
Affected packages
• RubyGems nokogiri: < 1.19.3 → fixed in 1.19.3
Description
Summary
Nokogiri's `Nokogiri::XSLT::Stylesheet#transform` leaks a small heap allocation when passed a Ruby string parameter containing a null byte.
For applications that pass attacker-controlled input through `XSLT.transform` parameters, this may be a vector for a denial of service attack against long-running processes.
Mitigation
Upgrade to Nokogiri `>= 1.19.3`.
Users may also be able to mitigate this issue without upgrading by validating untrusted transform parameters before passing them to `Nokogiri::XSLT::Stylesheet#transform`.
Severity
The Nokogiri maintainers have evaluated this as Moderate Severity, CVSS 5.3.
Each leaked allocation is approximately 24–32 bytes, so meaningful memory growth requires sustained attacker-controlled traffic at high call rates. The bug does not cause memory corruption, information disclosure, or any change in the behavior of the transform itself, and the string-handling exception is raised as expected.
Applications that do not pass raw attacker-controlled bytes to XSLT parameters are unlikely to be affected in practice.
Resources
• CWE-401: Missing Release of Memory after Effective Lifetime
Credit
This vulnerability was responsibly reported by @Captainjack-kor.
Related
Alias · CVE (1)
- CVE-2026-79771 Nokogiri versions before 1.19.3 contain a memory leak in the XSLT Stylesheet transform method when processing Ruby strings containing null… vulnerability
Weakness · CWE (1)
- CWE-401 Missing Release of Memory after Effective Lifetime weakness