CVE-2026-115506
High · 7.5CVSS
7.5
EPSS
0.5%
Published
Oct 22, 2026
CISA due date
—
Cloudanix analysis
A widely used library that reads data files can be tricked into using far too much processing power when given specially crafted input, potentially slowing down or interrupting services.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability allows a moderately sized XML document containing a large DTD and deeply nested entity expansions to bypass early amplification checks in accountingDiffTolerated(), resulting in excessive CPU consumption during parsing in libexpat through 2.9.0.
Why it matters to the business
Systems that parse untrusted XML may experience sudden resource exhaustion, leading to degraded performance, timeouts, or temporary service outages until the malicious input is processed.
How an attack unfolds
An attacker crafts an XML document with a large internal DTD and multiple layers of entity references that expand significantly, submits it to any service using the vulnerable parser, and forces the CPU-bound amplification to occur after the protection check has already passed.
How to fix it
Upgrade libexpat to the first release after 2.9.0 that corrects the late detection in accountingDiffTolerated(). Until a patched version is available, enforce strict limits on DTD size, entity expansion depth, and total parsed XML size at the application layer.
How to confirm the fix worked
Recompile or redeploy with the updated library and re-test using known amplification test cases to confirm CPU time remains bounded; monitor parser CPU metrics under load to verify exposure is removed.
Typical attack path
- Locate an application endpoint or service that accepts and parses XML documents from untrusted sources
- Generate a moderately sized XML payload containing an oversized DTD and nested entity expansions
- Transmit the payload to the target parser
- Observe sustained high CPU utilization on the affected process for tens of seconds per parse
How to detect it
Inspect application and system logs for spikes in CPU usage correlated with XML parsing activity; review inbound XML payloads for unusually large DTD sections or repeated entity references; correlate with process-level resource monitoring.
What your security team should do
- Prioritize updating libexpat in all products as soon as a fixed release is published
- Add defensive XML parsing controls (entity expansion limits, DTD disabling) where feasible
- Review and harden any public or internal endpoints that accept XML input
The record
libexpat through 2.9.0 contains a denial of service vulnerability because billion laughs protection in accountingDiffTolerated() in xmlparse.c detects entity amplification too late. Attackers can supply a moderately sized XML document with a large DTD and nested entity expansions to consume tens of seconds of CPU per parse.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-108357 PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. CWE-776
- CVE-2026-108358 PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. CWE-776
- CVE-2026-108086 ** UNSUPPORTED WHEN ASSIGNED ** Improper restriction of recursive entity references in… CWE-776
- CVE-2026-58234 SAP Process Integration (SOAP Adapter) allows a privileged user to send specially crafted… CWE-776
- CVE-2026-16180 IBM App Connect Enterprise 13.0.1.0 through 13.0.8.1, and 12.0.1.0 through 12.0.12.28 and… CWE-776
- CVE-2026-78681 NLTK versions before 3.10.3 use xml.etree.ElementTree to parse XML in multiple modules… CWE-776
- CVE-2026-73569 fast-xml-parser allows users to process XML from JS object without C/C++ based libraries… CWE-776
- CVE-2026-3415 The XML and schema validation functionalities within the SchemaValidator Mediator process… CWE-776