CVE-2026-93990CWE-176

CVE-2026-93990

High · published September 20, 2026

CVSS v3.1
7.5
EPSS
0%
Percentile
33.4
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS v4.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
EPSS
0.00403 · 33.4th percentile
Weakness
CWE-176 · Improper Handling of Unicode Encoding
Published
2026-09-20T03:17Z
References (6)
EPSS history
Timeline
  • 21 SEP 03:37Z
    EPSS moved — → 0%
    epss
  • 19 SEP 22:58Z
    Expat through 2.8.4 Malformed UTF-16 Acceptance via Unchecked Surrogate
    cvelistv5