Findings

CVE-2026-66046

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 at

Published Aug 18, 2026 · updated Oct 16, 2026

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.

Code

The project this record applies to. Exploit listings stay in References.

No public source repository is identified for this product.

Timeline

Detection, updates, and resolution for this record.

  1. Aug 18, 2026 · OSV.dev

    Detected

    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

  2. Oct 16, 2026 · OSV.dev

    Fix available

    expat fixed in 2.5.0-1+deb12u4; expat fixed in 2.9.0-1~deb13u1; expat fixed in 2.8.4-1

  3. Oct 16, 2026 · OSV.dev

    Fix available

    expat fixed in 2.5.0-1+deb12u4

  4. Oct 16, 2026 · OSV.dev

    Fix available

    expat fixed in 2.9.0-1~deb13u1

  5. Oct 16, 2026 · OSV.dev

    Fix available

    expat fixed in 2.8.4-1

  6. Oct 16, 2026 · OSV.dev

    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

Affected

  • Debian:12 expat0 → 2.5.0-1+deb12u4
  • Debian:13 expat0 → 2.9.0-1~deb13u1
  • Debian:14 expat0 → 2.8.4-1

Sources

References