Description
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.
Published: 2026-10-22
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Upgrade Library
AI Analysis

Impact

The vulnerability resides in libexpat versions up to 2.9.0 and is triggered when the xmlparse.c routine accountingDiffTolerated scans XML input. The detection of the billion‐laughs attack is performed too late, allowing an attacker to supply a moderately sized document that contains a large DTD and deeply nested entities. Parsing such a document consumes tens of seconds of CPU time, effectively blocking legitimate use of the library and causing a denial of service. The weakness is a resource exhaustion flaw (CWE‑776).

Affected Systems

All software that includes libexpat before version 2.9.1 is affected, as the issue exists in the libexpat library itself. Systems that rely on the library to parse XML from untrusted sources—such as web servers, applications that handle XML feeds, or any component that performs XML validation—are vulnerable.

Risk and Exploitability

The CVSS score of 8.7 classifies this as a high‑severity vulnerability. Although an EPSS score is not available and the issue is not listed in the CISA KEV catalog, the attack surface is wide because any XML input can be used. The likely attack vector is through user‑supplied XML data; a remote or local attacker could send a crafted file or message that forces the library to exhaust CPU resources during parsing. The exploitation is straightforward and requires only the ability to feed the vulnerable parser a crafted XML document.

Generated by OpenCVE AI on October 23, 2026 at 03:46 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade libexpat to version 2.9.1 or later, which includes a patch that performs billion‑laughs detection earlier in the parse process.
  • If an upgrade is not immediately possible, configure the XML parser or application to disable DTD processing or external entity expansion before parsing user input.
  • As a secondary measure, enforce size limits on XML data or use a sandboxed environment to run XML parsing with reduced privileges and resource quotas.

Generated by OpenCVE AI on October 23, 2026 at 03:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
Description 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.
Title libexpat through 2.9.0 Denial of Service via Billion Laughs Detection Delay
First Time appeared Libexpat Project
Libexpat Project libexpat
Weaknesses CWE-776
CPEs cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:*
Vendors & Products Libexpat Project
Libexpat Project libexpat
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Libexpat Project Libexpat
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-22T19:14:06.001Z

Reserved: 2026-10-22T16:14:59.466Z

Link: CVE-2026-115506

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-22T20:17:06.620

Modified: 2026-10-22T20:17:06.620

Link: CVE-2026-115506

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T06:15:12Z

Weaknesses
  • CWE-776

    Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')