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)
ReferencesDLA-4807-1, DSA-6566-1
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+deb12u4fixed
trixie2.8.3-1~deb13u1vulnerable
trixie (security)2.9.0-1~deb13u1fixed
forky, sid2.9.0-1fixed

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

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
expatsourcebookworm2.5.0-1+deb12u4DLA-4807-1
expatsourcetrixie2.9.0-1~deb13u1DSA-6566-1
expatsource(unstable)2.8.4-11144925

Notes

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