# CVE-2026-56405: libexpat integer overflow in getAttributeId

Source: https://junglewise.ai/threats/cve-2026-56405-libexpat-integer-overflow-in-getattributeid  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-21. Updated: 2026-06-21  
License: CC BY 4.0 with a link back

CVE-2026-56405 · Severity: medium · CVSS 6.9 · Published 2026-06-21

libexpat is a widely used software library for parsing XML data. A vulnerability in how it handles attribute names could allow an attacker to cause a system crash or potentially gain unauthorized access to information. This issue affects applications that process untrusted XML files using older versions of the library.

Technologies: [Libexpat Project Expat](https://junglewise.ai/threats/technologies/expat). Vendors: [Libexpat Project](https://junglewise.ai/threats/vendors/libexpat-project).

## Quick answers

**Is CVE-2026-56405 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-56405 being exploited in the wild.

**How severe is CVE-2026-56405?** Medium severity, with a CVSS score of 6.9, published 21 June 2026.

**Which products and versions are affected?** Libexpat Project Expat before 2.8.2.

**Is there a fix for CVE-2026-56405?** A patch was published on 2026-05-29: Fix merged into master branch via pull request 1251 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-56405 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-56405?** Check whether you run Libexpat Project Expat at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

An integer overflow vulnerability exists in the getAttributeId function within expat/lib/xmlparse.c of libexpat. The flaw occurs during a loop that scans attribute names for a prefix colon, where a signed integer counter (i) can increment past its maximum value (INT_MAX) when processing specifically crafted, large attribute names. While the name length is typically bounded by pool block size, the post-increment operation constitutes undefined behavior at the boundary. An attacker could potentially exploit this via a local attack vector to cause a denial of service or achieve memory corruption. The issue is addressed in version 2.8.2 by guarding the counter against INT_MAX.

## Affected products

- libexpat project libexpat before 2.8.2

## Timeline

- 2026-05-29: patched: Fix merged into master branch via pull request 1251
- 2026-06-21: disclosed: CVE published to NVD

## References

- [https://github.com/libexpat/libexpat/pull/1251](https://github.com/libexpat/libexpat/pull/1251)

## Related threats

- [libexpat use-after-free in doCdataSection](https://junglewise.ai/threats/cve-2026-56412-libexpat-use-after-free-in-docdatasection)
- [libexpat integer overflow in xmlwf endDoctypeDecl](https://junglewise.ai/threats/cve-2026-56411-libexpat-integer-overflow-in-xmlwf-enddoctypedecl)
- [libexpat xmlwf integer overflow in resolveSystemId](https://junglewise.ai/threats/cve-2026-56410-libexpat-xmlwf-integer-overflow-in-resolvesystemid)
- [libexpat xmlwf integer overflow in output filename handling](https://junglewise.ai/threats/cve-2026-56409-libexpat-xmlwf-integer-overflow-in-output-filename-handling)
- [libexpat integer overflow in copyString](https://junglewise.ai/threats/cve-2026-56408-libexpat-integer-overflow-in-copystring)
