CVE-2026-66046

NameCVE-2026-66046
DescriptionExpat 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
Debian Bugs1144925

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
expat (PTS)bookworm2.5.0-1+deb12u2vulnerable
bookworm (security)2.5.0-1+deb12u3vulnerable
trixie2.7.1-2vulnerable
trixie (security)2.8.3-1~deb13u1vulnerable
forky, sid2.8.4-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
expatsource(unstable)2.8.4-11144925

Notes

[trixie] - expat <no-dsa> (Minor issue)
[bookworm] - expat <postponed> (Minor issue)
https://github.com/libexpat/libexpat/pull/1321
Fixed by: https://github.com/libexpat/libexpat/commit/98f5acc146af76859cd7c345c0906e9e9e8ea656 (R_2_8_4)
Fixed by: https://github.com/libexpat/libexpat/commit/f8f7c4ffd883e3c2c58f0ebb49416a6c1d248738 (R_2_8_4)
Requires followup to not open CVE-2026-76641:
https://github.com/libexpat/libexpat/commit/98599f6dcc2b460410881fe420f5f55d6bec63bf (R_2_8_4)

Search for package or bug name: Reporting problems