Read the docs

Billion laughs detection delay in libexpat enables denial of service

Priority HIGH 77CWE-776Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
None · None · High
Fix status
No fix listed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat.

Summary

libexpat through 2.9.0 has a denial of service flaw in accountingDiffTolerated() in xmlparse.c, where billion laughs protection detects entity amplification too late (CWE-776). A remote attacker without privileges or user interaction can supply a moderately sized XML document with a large DTD and nested entity expansions, consuming tens of seconds of CPU per parse. A public exploit is linked in the references.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00448 39th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by the CNA
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
libexpat projectlibexpatup to 2.9.0—No fix listedCNA
  • libexpat Vendorlibexpat project Affected up to 2.9.0 Fixed in — No fix listed CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:*up to 2.9.0Vulnerablelibexpat project
  • cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:* Versions up to 2.9.0 Vulnerable ·libexpat project

Remediation

No fixed version is listed for libexpat. Red Hat lists Red Hat Enterprise Linux 7, 8, 9 and 10, Red Hat Hardened Images, and Red Hat OpenShift Container Platform 4 and 5 as affected without a fix and with no plan available.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux 10AffectedNo fix yet
Red Hat Enterprise Linux 7AffectedNo fix yet
Red Hat Enterprise Linux 8AffectedNo fix yet
Red Hat Enterprise Linux 9AffectedNo fix yet
Red Hat Hardened ImagesAffectedNo fix yet
Red Hat OpenShift Container Platform 4AffectedNo fix yet
Red Hat OpenShift Container Platform 5AffectedNo fix yet
Not affected: 3 products
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8

Timeline

  1. 2026-10-22 Threatist record created from CVE-2026-115506
  2. 2026-10-22 Alias added: GHSA-j83x-34mv-v962
  3. 2026-10-23 Priority changed: MEDIUM → LOW
  4. 2026-10-24 CISA SSVC decision points changed
  5. 2026-10-24 Priority changed: LOW → HIGH
  6. 2026-11-06 Affected versions changed · Red Hat
  7. 2026-11-06 CVSS score added · Red Hat

References

  • TI-2022-09008 In Expat (aka libexpat) before 2.4.5, there is an integer overflow in storeRawNames. CVSS 3.1CRITICAL 9.8
  • TI-2022-08947 xmlparse.c in Expat (aka libexpat) before 2.4.5 allows attackers to insert… CVSS 3.1CRITICAL 9.8
  • TI-2021-20962 In Expat (aka libexpat) before 2.4.3, a left shift by 29 (or more) places in the… CVSS 3.1HIGH 8.8
  • TI-2021-21076 In doProlog in xmlparse.c in Expat (aka libexpat) before 2.4.3, an integer overflow exists for m_groupSize. CVSS 3.1HIGH 8.1
  • TI-2016-00645 Expat allows context-dependent attackers to cause a denial of service (crash) or possibly… CVSS 3.1CRITICAL 9.8
  • TI-2024-34028 An issue was discovered in libexpat before 2.6.4. CVSS 3.1MEDIUM 5.9
See all 67 →

Sources