VDB
CVE-2026-93990
CVE-2026-93990
PUBLISHED
CVSS 8.7 HIGH
Reported by VulnCheck · Published September 19, 2026
Expat before 2.8.5 fails to validate that a high surrogate in UTF-16 input is followed by a low surrogate, allowing malformed UTF-16 sequences to be accepted. Attackers can supply UTF-16 encoded XML containing lone high surrogates that consume the following code unit, causing Expat to pass unpaired surrogates to applications built with XML_UNICODE and to silently replace input characters in other builds.
Risk Scores
CVSS 4.0
8.7
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| libexpat | libexpat | 0, 2.8.5 |
| alpine | expat | 0 |
| libexpat | libexpat | 0, 0, 2.8.5 |
| libexpat_project | libexpat | 0 |
Timeline
- Sep 19, 2026 CVE Published
- Sep 20, 2026 EPSS Score
- Sep 20, 2026 Coalition ESS Score
- Sep 24, 2026 EPSS Score
- Sep 25, 2026 EPSS Score
- Sep 26, 2026 EPSS Score
- Sep 28, 2026 CVE Updated
- Sep 29, 2026 EPSS Score
- Sep 30, 2026 Distribution Patch
- Sep 30, 2026 Security Advisory
- Sep 30, 2026 Distribution Patch
- Sep 30, 2026 Security Advisory
References
- GitHub PR #1282 issue-trackingpatch
- patch
- release-notes
- vendor-advisory
- product
- VulnCheck Advisory: Expat through 2.8.4 Malformed UTF-16 Acceptance via Unchecked Surrogate third-party-advisory