Expat before 2.8.5 Malformed UTF-16 Acceptance via Unchecked Surrogate (libexpat libexpat)

CVE-2026-93990
HIGH 8.7

At a glance

Source
NVD
EPSS
EPSS 0.40 % · percentile 35 ()
State
PUBLISHED
Published
Updated
Assigner
VulnCheck
NVD status
Awaiting Analysis

Description

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.

Weaknesses (CWE)

  • CWE-176 — Improper Handling of Unicode Encoding

References

Scores

VersionScoreVectorScored by
CVSS 4.0HIGH 8.7CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NVulnCheck
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NVulnCheck
CVSS 4.0HIGH 8.7CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XNVD · disclosure@vulncheck.com (Secondary)
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NNVD · disclosure@vulncheck.com (Secondary)

European references

CERT-FR advisories

Affected products

ProductVersions
libexpat · libexpataffected 0 < 2.8.5 ; unaffected 2.8.5

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD