# CVE-2026-86139: libxml2 integer overflow in xmlURIEscapeStr

Source: https://junglewise.ai/threats/cve-2026-86139-libxml2-integer-overflow-in-xmluriescapestr  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-05. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-86139 · Severity: medium · CVSS 6.9 · Published 2026-09-05

libxml2 is a widely-used XML parsing library embedded in many applications and operating systems. An integer overflow vulnerability in the URI escaping function can cause memory corruption when processing specially crafted XML URIs, potentially leading to application crashes or arbitrary code execution.

Technologies: [Xmlsoft Libxml2](https://junglewise.ai/threats/technologies/libxml2). Vendors: [Xmlsoft](https://junglewise.ai/threats/vendors/xmlsoft).

## Quick answers

**Is CVE-2026-86139 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-86139 being exploited in the wild.

**How severe is CVE-2026-86139?** Medium severity, with a CVSS score of 6.9, published 5 September 2026.

**Which products and versions are affected?** GNOME libxml2 before 2.15.4.

**Is there a fix for CVE-2026-86139?** A patch was published on 2.15.4. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-86139 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-86139?** Check whether you run Xmlsoft Libxml2. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is an integer overflow in the xmlURIEscapeStr function in uri.c. When xmlStrlen() returns 0 for strings longer than INT_MAX, the code adds 20 to the length without validation, causing len to wrap to a small value. This leads to undersized buffer allocation and subsequent heap overflow when writing escaped URI characters. The vulnerability is triggered when processing a specially crafted URI string; network reachability depends on the calling application's exposure to untrusted XML input. The fix in libxml2 2.15.4 adds a length check to return NULL when xmlStrlen returns 0, preventing the overflow.

## Affected products

- GNOME libxml2 before 2.15.4

## Timeline

- 2026-09-05: disclosed
- 2.15.4: patched

## References

- [https://github.com/GNOME/libxml2/commit/8edbbdb09f24d26a2f900141fddc2b9d014f53b0](https://github.com/GNOME/libxml2/commit/8edbbdb09f24d26a2f900141fddc2b9d014f53b0)
- [https://github.com/GNOME/libxml2/compare/v2.15.3...v2.15.4](https://github.com/GNOME/libxml2/compare/v2.15.3...v2.15.4)

## Related threats

- [libxml2 xinclude parseFlags not propagated](https://junglewise.ai/threats/cve-2026-86144-libxml2-xinclude-parseflags-not-propagated)
- [libxml2 integer overflow in xmlOutputWriteCallback](https://junglewise.ai/threats/cve-2026-86143-libxml2-integer-overflow-in-xmloutputwritecallback)
- [libxml2 heap buffer overflow in xmlXPtrEvalXPtrPart](https://junglewise.ai/threats/cve-2026-86142-libxml2-heap-buffer-overflow-in-xmlxptrevalxptrpart)
- [libxml2 NULL pointer dereference in xmlRegNewParserCtxt](https://junglewise.ai/threats/cve-2026-86141-libxml2-null-pointer-dereference-in-xmlregnewparserctxt)
- [libxml2 stack-based buffer overflow in xmlSnprintfElements](https://junglewise.ai/threats/cve-2026-86140-libxml2-stack-based-buffer-overflow-in-xmlsnprintfelements)
