CVE-2026-79769: Nokogiri before 1.19.4 Invalid Memory Read via initialize_copy_with_args

Published Aug 25, 2026
·
Updated

Nokogiri versions before 1.19.4 contain a possible invalid (out-of-bounds) memory read in the protected internal Node#initializecopywithargs helper behind Node#dup and #clone, which unwrapped its source argument as an xmlNode without a type check. If application code calls this protected method with a non-Node argument (e.g., a Namespace), it reads an xmlNs out of bounds, crashing the process. This is only triggerable by a programming error and cannot be triggered by untrusted input or normal use of the public API. Only CRuby is affected. Version 1.19.4 adds a type check and raises TypeError.

Affected Software

1 affected component
gem/nokogiri<1.19.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Nokogiri to a version that resolves this vulnerability.

    Fixed in 1.19.4

Event History

Aug 25, 2026
CVE Published
via MITRE·03:16 PM
Data Sourced
via MITRE·03:16 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:17 PM
DescriptionSeverityWeakness
Apr 30, 58619
Event
via NVD·02:04 AM

Frequently Asked Questions

1

Which deployments are actually exposed to this issue?

Only applications using Nokogiri on CRuby are affected. The issue requires application code to call the protected internal Node#initialize_copy_with_args helper, directly or through an improper use of Node#dup or #clone, with a non-Node object such as a Namespace.

2

Can an external attacker trigger this through crafted input?

No. The issue is only triggerable by a programming error and cannot be triggered by untrusted input or normal use of Nokogiri's public API.

3

What happens when the vulnerable code path is reached?

Nokogiri may perform an out-of-bounds read by treating a non-Node argument as an xmlNode. This can crash the Ruby process, causing a denial of service.

4

How is the issue handled in the fixed release?

Nokogiri 1.19.4 adds a type check to the internal helper. Passing a non-Node argument causes a TypeError instead of an invalid memory read.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203