CVE-2026-93990
Published: September 23, 2026Last modified: September 27, 2026
Description
Expat through 2.8.4 fails to validate low surrogates following high surrogates in UTF-16 input, allowing malformed UTF-16 sequences to be accepted. Attackers can craft UTF-16 encoded XML with lone high surrogates that consume following code units, hiding markup characters from the parser and enabling XML injection attacks.
Severity score breakdown
| Parameter | Value |
|---|---|
| Base score | 7.5 |
| Attack Vector | NETWORK |
| Attack complexity | LOW |
| Privileges required | NONE |
| User interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality | NONE |
| Integrity impact | HIGH |
| Availability impact | NONE |
| Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Status
| Product | Release | Package | Status |
|---|---|---|---|
| Alpaquita Linux | 23 LTS | expat | Fixed (2.8.5-r0) |
| 25 LTS | expat | Fixed (2.8.5-r0) | |
| Stream | expat | Fixed (2.8.5-r0) | |
| Hardened Containers | 23 LTS | expat | Fixed (2.8.5-r0) |
| 25 LTS | expat | Fixed (2.8.5-r0) | |
| Stream | expat | Fixed (2.8.5-r0) |
References
- https://blog.hartwork.org/posts/expat-2-8-5-released/
- https://github.com/libexpat/libexpat
- https://github.com/libexpat/libexpat/commit/ff6e1d7e750bbe245178f51a47a965dc8342861a
- https://github.com/libexpat/libexpat/pull/1282
- https://github.com/libexpat/libexpat/releases/tag/R_2_8_5
- https://www.vulncheck.com/advisories/expat-through-2.8.4-malformed-utf-16-acceptance-via-unchecked-surrogate