8.7
High
CVE-2026-66046 Expat through 2.8.3 contains a denial of service vulnerability caused by quadratic algorithmic complexity in the…
Description
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.
Affected products and versions
| Product | Affected versions | Fixed in |
|---|---|---|
| libexpat 2.8 | earliest → 2.8.3 | No fix stated |
References
- Pull Request github.com
- www.vulncheck.com www.vulncheck.com
Timeline
- Published
- Last modified
Other CVEs of libexpat
The 26 CVEs of libexpat →
CVE-2026-76957
libexpat before 2.8.4 lacks handler call depth tracking with custom encoding callbacks
4.9
Medium
CVE-2026-76956
In libexpat 2.8.2 and 2.8.3 before 2.8.4, misinterpretation of getentropy's return code leads to insufficient entropy,…
5.9
Medium
CVE-2026-72522
libexpat before 2.8.3 has an out-of-bounds read and resultant infinite loop because low surrogates are treated the…
6.2
Medium
CVE-2026-56412
libexpat before 2.8.2 does not consider XML_TOK_DATA_CHARS in doCdataSection and thus lacks handler call depth…
4.9
Medium