Executive brief
libxml2 is a widely-used XML parsing library embedded in countless applications and operating systems. A flaw in its XML Include (xinclude) functionality fails to apply security restrictions (parseFlags) when processing included XML files, potentially allowing attackers to bypass protections against external network access, trigger XML external entity (XXE) attacks, or cause service disruptions through slow or malicious resources.
Technical details
The vulnerability is a missing security flag propagation issue in the xmlXIncludeProcess and xmlXIncludeProcessTree functions. These functions fail to pass the parseFlags parameter (which includes flags like XML_PARSE_NONET to disable network access) to included XML content, allowing an attacker to bypass intended security constraints. An application that sets parseFlags to restrict network access may still have those restrictions ignored when processing XInclude directives. This can enable XML External Entity (XXE) injection, Server-Side Request Forgery (SSRF), or denial-of-service attacks if the application uses a custom resource loader that accesses the network. The fix propagates parseFlags correctly during xinclude processing. Patch is available in libxml2 2.15.4 and later.
Affected products
- GNOME libxml2 before 2.15.4
Timeline
- 2026-09-05: disclosed
- 2026: patched: Fix available in libxml2 2.15.4