Out-of-bounds read in libexpat unknown encoding handling
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · Low
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
libexpat through 2.10.0 contains an out-of-bounds read in unknown_toUtf8() and unknown_toUtf16() in xmltok.c when it handles application-registered unknown encodings. A remote attacker can supply a document that ends in a truncated multibyte sequence, so the convert callback reads past the parse buffer. The read can leak adjacent memory or crash the application that uses the parser.
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
Description from the CNA
libexpat through 2.10.0 contains an out-of-bounds read vulnerability in unknown_toUtf8() and unknown_toUtf16() in xmltok.c when handling application-registered unknown encodings. Attackers can supply a document ending in a truncated multibyte sequence so the convert callback reads past the parse buffer, leaking adjacent memory or crashing applications.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| libexpat project | libexpat | up to 2.10.0 | — | No fix listed | CNA |
- libexpat Vendorlibexpat project Affected up to 2.10.0 Fixed in — No fix listed CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:* | — | — | libexpat project |
- cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:* Versions — — ·libexpat project
Remediation
The sources list no fixed version for libexpat.
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
Timeline
- 2026-11-07 Threatist record created from CVE-2026-124317
- 2026-11-07 Alias added: GHSA-wm22-jw4m-rfcf
References
More libexpat project vulnerabilities
- TI-2022-09008 In Expat (aka libexpat) before 2.4.5, there is an integer overflow in storeRawNames. CVSS 3.1CRITICAL 9.8
- TI-2026-79488 Billion laughs detection delay in libexpat enables denial of service CVSS 4.0HIGH 8.7
- TI-2022-08947 xmlparse.c in Expat (aka libexpat) before 2.4.5 allows attackers to insert… CVSS 3.1CRITICAL 9.8
- TI-2021-20962 In Expat (aka libexpat) before 2.4.3, a left shift by 29 (or more) places in the… CVSS 3.1HIGH 8.8
- TI-2021-21076 In doProlog in xmlparse.c in Expat (aka libexpat) before 2.4.3, an integer overflow exists for m_groupSize. CVSS 3.1HIGH 8.1
- TI-2016-00645 Expat allows context-dependent attackers to cause a denial of service (crash) or possibly… CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-124317 · CVE Program
- CVE-2026-124317 · NVD
- GHSA-wm22-jw4m-rfcf · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences