CVE-2026-66046: Expat Denial of Service via storeAtts() Quadratic Complexity

Published Aug 18, 2026
·
Updated

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 Software

1 affected component
Expat<=2.8.3

Event History

Aug 18, 2026
CVE Published
via MITRE·02:10 PM
Data Sourced
via MITRE·02:10 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are realistically exposed?

Applications that parse untrusted XML with Expat are exposed, including when Expat is used with default parser settings. The attack does not depend on external entity resolution or non-default parser options.

2

What does an attacker need to exploit this issue?

An unauthenticated remote attacker only needs to submit one well-formed XML document containing many specified attributes with non-normalized values. A document of a few megabytes can cause excessive CPU consumption.

3

How can I determine whether my application may be affected?

Look for services or applications that accept untrusted XML and use Expat through version 2.8.3. The vulnerable processing pattern is XML with many specified attributes whose values are non-normalized.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203