Skip to main content

libexpat CVE-2026-66046

| EUVDEUVD-2026-60821 HIGH
Inefficient Algorithmic Complexity (CWE-407)
2026-08-18 VulnCheck GHSA-m3rp-25vq-jfcv
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send crafted HTTP request with large XML body
  2. Delivery
    Deliver element with N attributes with non-normalized values
  3. Exploit
    Trigger O(N^2) linear scan in storeAtts() per attribute
  4. Execution
    Exhaust CPU cycles on parsing thread
  5. Impact
    Deny service to legitimate users

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Algorithmic complexity limits
Exploitation Conditions

Exploitation requires the target application to accept untrusted XML and pass it synchronously to libexpat for parsing via a network-accessible interface. The attacker must be able to deliver a moderately sized XML document-on the order of a few megabytes-containing a large number of element attributes with non-normalized values; no authentication, external entity resolution, or non-default parser options are needed. If the endpoint accepts compression-wrapped XML (e.g., gzip via Content-Encoding), the minimum viable payload size is significantly reduced, per the upstream advisory. Exploitation is limited by: (1) the target application must expose XML parsing to unauthenticated or lightly restricted network callers; (2) the quadratic effect requires sufficient attribute count, bounded by the allowed request size; and (3) asynchronous or rate-limited XML ingestion pipelines reduce but do not eliminate the DoS impact, since CPU is still consumed in the worker pool.

Impact

The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N) accurately reflects the low exploitation bar: no authentication, no complexity, no special trigger beyond a well-formed XML document with many non-normalized attributes. The upstream-stated CVSS 3.1 vector of AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H (score 7.5) is consistent with the 4.0 assessment and confirms pure availability impact. No EPSS score was provided in the source data, so exploitation probability cannot be quantified; however, algorithmic complexity DoS vulnerabilities with zero prerequisites historically attract automated probing once details are public, and the PR diff provides enough information for independent reproduction. The absence of a CISA KEV listing and confirmed public exploit code tempers urgency slightly, but the attack pattern's simplicity-a single HTTP POST with crafted XML-means weaponization requires minimal skill. The advisory's explicit note that compression can dramatically shrink the attack payload is operationally significant, enabling viable attacks across rate-limited or body-size-restricted endpoints. Even a mid-sized municipal IT team in inowroclaw operating XML-ingesting microservices should treat this as urgent given libexpat's deep embedding across Python, PHP, and Linux distribution stacks. The DoS-only impact (no C/I) reduces business risk relative to RCE flaws, but service availability is frequently a contractual or safety requirement in API-dependent and operational environments.

Exploit ScenarioDerived

An attacker crafts a well-formed XML document of several megabytes containing a large element with many attributes carrying non-normalized values and submits it to any HTTP endpoint-such as an XML-based API or SOAP service-that passes untrusted input directly to libexpat for synchronous parsing. The parser's O(N^2) scan of default attribute metadata pins one or more CPU cores for the duration of the parse, degrading or denying service to concurrent legitimate users without triggering any authentication check or error condition. No public exploit code has been confirmed, but the attack is fully reproducible from the public PR diff and CVE description.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 18, 2026

Denial of service in libexpat through 2.8.3 stems from quadratic CPU complexity in the storeAtts() XML attribute processing function, enabling remote unauthenticated attackers to exhaust server CPU with a compact, well-formed XML document. The flaw-closely related to CVE-2026-45186 fixed in Expat 2.8.1-requires no authentication, no external entity resolution, and no non-default parser options to trigger, and is significantly amplified when XML payloads are compression-wrapped. No public exploit code has been identified at time of analysis, but the attack algorithm is fully derivable from the public PR diff and vulnerability description, making independent weaponization low-effort.

RemediationAI

The upstream fix is available as GitHub PR #1321 (https://github.com/libexpat/libexpat/pull/1321) targeting libexpat 2.8.4; however, the changelog entry carries placeholder dates ('XXX XXXXXX XX XXXX'), meaning a packaged 2.8.4 release has not been confirmed at time of analysis-patch status is 'upstream fix available (PR/commit); released patched version not independently confirmed.' Organizations should monitor the libexpat GitHub releases page and their OS distribution channels (Debian, Red Hat, Ubuntu, Alpine, Homebrew) for backported security updates. As an immediate compensating control, enforce strict body-size limits on XML accepted from untrusted sources at the API gateway or load balancer layer-setting a conservative per-request limit well below a few megabytes can prevent the attribute-count scale needed for exploitation, though this risks rejecting legitimate large XML payloads and must be tuned per application. For services that accept compressed XML (e.g., Content-Encoding: gzip), consider requiring decompression and size-checking before passing to the parser, since the advisory explicitly states compression amplifies the attack. Asynchronous or worker-pool XML processing architectures can limit blast radius by preventing a single malicious document from blocking the main request-handling thread, but do not eliminate the vulnerability.

Affected VersionsENISA

libexpat 0 ≤2.8.3

Affected Packages

euvd libexpat no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in storeAtts() within xmlparse.c (CPE: cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:*), the XML attribute processing routine of libexpat. CWE-407 (Inefficient Algorithmic Complexity) identifies the root cause: for each of N specified attributes with non-normalized values, the parser performed a linear O(N) scan of the element type's defaultAtts array to determine each attribute's isCdata (CDATA) status, producing O(N^2) total complexity as N grows. The fix in GitHub PR #1321 introduces a new NAME_AND_DEFAULT_ATTRIBUTE struct and replaces the linear scan with an O(1) hash table lookup via a renamed defaultAttForName table, eliminating the quadratic blowup. The upstream changelog also notes that wrapping crafted XML in a compression layer (e.g., gzip) can substantially reduce the minimum payload size needed to trigger the condition, a detail operationally relevant to deployments that accept compressed XML over HTTP.

Know when Libexpat gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
vuln.today AI 7.5 HIGH

Network-reachable with no auth, no user interaction, and no complexity; impact is pure availability via CPU exhaustion with no confidentiality or integrity effects.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat 7.5 HIGH

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Expat through 2.8.3 contains a denial of service vulnerability caused by quadratic algorithmic complexity in the storeAtts() function in xmlparse.c, where processing N specified attributes with non-normalized values triggers an O(N^2) linear scan of elementType->defaultAtts to determine CDATA status. A remote unauthenticated attacker can supply a single well-formed XML document of a few megabytes to an application parsing untrusted XML to cause excessive CPU consumption, resulting in denial of service without requiring authentication, external entity resolution, or non-default parser options.

Executive ViewAI

Why It Matters

libexpat versions through 2.8.3 contain a denial-of-service vulnerability allowing unauthenticated remote attackers to crash or degrade any XML-processing application through CPU exhaustion. This impacts applications across email, web services, APIs, and other infrastructure dependent on libexpat-creating immediate availability risk that affects business continuity until remediated, particularly if those services handle untrusted external XML input.

Business Impact: High
Compensating Controls

Implement per-request XML size and complexity limits; deploy rate limiting and request throttling on XML processing endpoints; disable XML external entity processing (XXE) where possible; isolate XML processing workloads to prevent single-service failures from cascading; enable and alert on sustained CPU spikes during XML operations; configure WAF to detect compression-wrapped payloads (gzip/deflate); consider disabling non-essential XML features in applications. These controls reduce exploitation window and blast radius but do not eliminate underlying vulnerability.

Threat Intelligence Overview

EPSS Score
0.7%
Top 51% exploitable
Prevalence
High
core XML parser embedded in Python, PHP, and major Linux distributions
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2022-25315 CRITICAL POC
9.8 Feb 18

In Expat (aka libexpat) before 2.4.5, there is an integer overflow in storeRawNames. Rated critical severity (CVSS 9.8),

CVE-2019-15903 HIGH POC
7.5 Sep 04

In libexpat before 2.2.8, crafted XML input could fool the parser into changing from DTD parsing to document parsing too

CVE-2026-93990 HIGH POC
8.7 Sep 19

Malformed UTF-16 decoding in libexpat through 2.8.4 lets remote attackers hide XML markup from the parser: a lone high s

CVE-2022-43680 HIGH POC
7.5 Oct 24

In libexpat through 2.4.9, there is a use-after free caused by overeager destruction of a shared DTD in XML_ExternalEnti

CVE-2024-28757 HIGH POC
7.5

Alpine Linux: expat fixed in 2.6.2-r0

CVE-2017-9233 HIGH POC
7.5 Jul 25

XML External Entity vulnerability in libexpat 2.2.0 and earlier (Expat XML Parser Library) allows attackers to put the p

CVE-2025-59375 HIGH POC
7.5 Sep 15

libexpat in Expat before 2.7.2 allows attackers to trigger large dynamic memory allocations via a small document that is

CVE-2026-45186 HIGH POC
7.5 May 10

Denial of service in libexpat before 2.8.1 lets remote attackers exhaust CPU by submitting moderately sized crafted XML

CVE-2013-0340 MEDIUM POC
6.8 Jan 21

expat before version 2.4.0 does not properly handle entities expansion unless an application developer uses the XML_SetE

CVE-2016-0718 CRITICAL
9.8 May 26

Expat allows context-dependent attackers to cause a denial of service (crash) or possibly execute arbitrary code via a m

CVE-2024-45492 CRITICAL
9.8 Aug 30

An issue was discovered in libexpat before 2.6.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exp

CVE-2024-45491 CRITICAL
9.8 Aug 30

An issue was discovered in libexpat before 2.6.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exp

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SLES15-SP5-CHOST-BYOS-SAP-CCloud Not-Affected
SLES15-SP5-CHOST-BYOS-SAP-CCloud Not-Affected
SLES15-SP6-CHOST-BYOS Not-Affected
SLES15-SP6-CHOST-BYOS-Aliyun Not-Affected
SLES15-SP6-CHOST-BYOS-Azure Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy