ZeroHour

CVE-2026-74860

large

Double-free DoS in libxml2 Python bindings via crafted DTD attribute declarations

CVSS 3.1
8.5 high
EPSS
<1%p29
Published
()
Modified
AI analysis

CVE-2026-74860 is a double-free vulnerability in libxml2 when it is built with its Python bindings enabled, located in the SAX attributeDecl callback handler where a string is freed twice. A remote attacker triggers the flaw by supplying a specially crafted XML document containing a Document Type Definition (DTD) with enumerated attribute values, causing the affected process to crash reproducibly. The practical impact is denial of service: any Python application that parses untrusted XML with libxml2's SAX bindings can be crashed by attacker-controlled input. Affected environments are those running libxml2 with the Python bindings (e.g., distro-shipped libxml2 Python bindings) to process XML from untrusted sources; the advisory, assigned by Red Hat, does not specify affected version numbers. There is no public proof-of-concept, the flaw is not in CISA KEV, and EPSS puts 30-day exploitation probability at roughly 0.3%, so no exploitation is currently known.

What to do: Update libxml2 (and the associated Python bindings package, e.g., your distribution's libxml2-python/python3-libxml2) as soon as a fixed version is published in your vendor's security advisories; no fixed version number is available yet. As an interim mitigation, avoid using libxml2's Python SAX bindings to parse untrusted XML, and disable or restrict DTD processing (refuse documents with an internal or external DTD subset) for any input path that must remain active. Audit your estate for installs of the Python bindings and identify applications that feed untrusted XML into them, and monitor Red Hat and upstream libxml2 advisories for the fix.

Affected
libxml2 (GNOME project); distributed in vendor packages tracked by Red Hat and o libxml2 with Python bindings enabled (libxml2-python / distro Python bindings), SAX parsing path
Estimated exposure
largeplausibly on the order of 10,000–100,000+ systems with distro-shipped libxml2 Python bindings installed, though only apps parsing untrusted XML via those… — libxml2 and its Python bindings are shipped by default or as packages by major Linux distributions and are widely present on servers, but the exploitable population is narrowed to applications that actually use the Python SAX bindings on…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

A flaw was found in libxml2 with Python bindings enabled. A remote attacker could exploit this vulnerability by providing a specially crafted XML document containing a Document Type Definition (DTD) with enumerated attribute values. This triggers a double-free error in the SAX attributeDecl callback handler, where a string is freed twice. This flaw can lead to a denial of service (DoS) due to a reproducible crash in Python applications using the libxml2 SAX bindings.

Weakness
CWE-763
Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.