CVE-2026-93990 json
Expat before 2.8.5 Malformed UTF-16 Acceptance via Unchecked Surrogate
published 2026-09-19 50 d ago modified 2026-11-08 13 h ago also EUVD-2026-83618
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 34%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- libexpat libexpat 2.8.5
- expat Debian 12 2.5.0-1+deb12u4
- expat Debian 13 2.9.0-1~deb13u1
- expat Debian 14 2.8.4-2
debian advisories DEBIAN-CVE-2026-93990
- expat RHEL 10.2 2.7.3-1.el10_2.5
- expat RHEL 9 2.5.0-6.el9_8.5
- expat RHEL 8 2.5.0-4.el8_10
- expat hummingbird 1 2.8.4-0.2.hum1
red hat advisories RHSA-2026:74001RHSA-2026:72663RHSA-2026:72448RHSA-2026:71655
- expat SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 2.8.5-160000.1.1
- expat Linux Micro 6.1 2.8.5-slfo.1.1_1.1
- MozillaFirefox SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 153.5.0-150400.157.16.1
- MozillaFirefox SLES for SAP applications 16.0, SLES 16.0 153.5.0-160000.1.1
- MozillaThunderbird SLE Workstation Extension 15 SP7, SLE Module for Package Hub 15 SP7 153.5.0-150400.13.9.1
- expat SLE Module for Basesystem 15 SP7 2.8.5-150700.3.15.1
- expat Linux Micro 6.0 2.8.5-159998.1.1
- expat SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +10 more 2.8.5-150400.3.40.1
suse advisories SUSE-SU-2026:24460-1SUSE-SU-2026:24469-1SUSE-SU-2026:24554-1SUSE-SU-2026:4834-1SUSE-SU-2026:4806-1SUSE-SU-2026:24260-1
- expat openSUSE Leap 16.0 2.8.5-160000.1.1
- MozillaFirefox openSUSE Leap 16.0 153.5.0-160000.1.1
- expat openSUSE Tumbleweed 2.8.5-1.1
opensuse advisories openSUSE-SU-2026:22177-1openSUSE-SU-2026:22139-1openSUSE-SU-2026:11981-1
- expat AlmaLinux 10 2.7.3-1.el10_2.5
- expat AlmaLinux 8 2.5.0-4.el8_10
- expat AlmaLinux 9 2.5.0-6.el9_8.5
almalinux advisories ALSA-2026:74001ALSA-2026:72448ALSA-2026:72663
- expat Rocky Linux 10 2.7.3-1.el10_2.5
- expat Rocky Linux 9 2.5.0-6.el9_8.5
- expat Rocky Linux 8 2.5.0-4.el8_10
rocky linux advisories RLSA-2026:74001RLSA-2026:72663RLSA-2026:72448
- expat Alpine 3.24, Alpine 3.23, Alpine 3.22 +1 more 2.8.5-r0
alpine advisories ALPINE-CVE-2026-93990
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- expat Azure Linux 3.0 2.8.5-1
azure linux advisories AZL-103316
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- github.com/libexpat/libexpat@ff6e1d7 commit
- github.com/libexpat/libexpat#1282 pull request
- github.com/libexpat/libexpat/releases/tag/R_2_8_5 release
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-93990 updated cvss 7.5
expat: Expat: XML Injection via Malformed UTF-16 Input
-
Red Hat Enterprise Linux 6 expat, compat-expat1affected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 7 expat, firefox Red Hat Enterprise Linux 8 firefox, xmlrpc-c, mingw-expat, thunderbird, xmlrpc-c-c++, mingw32-expat, +3 more Red Hat Enterprise Linux 9 firefox, firefox-x11, thunderbird Red Hat Enterprise Linux 10 firefox, thunderbird Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9affected: workaround, no fix available
-
Red Hat Cost Management On-Premise 1 costmanagement/costmanagement-ui-rhel10 1791460851fixed: vendor fix RHSA-2026:79357
-
Red Hat Enterprise Linux AppStream (v. 9) expat-devel 2.5.0-6.el9_8.5, expat-debuginfo 2.5.0-6.el9_8.5, expat-debugsource 2.5.0-6.el9_8.5fixed: vendor fix RHSA-2026:72663
-
Red Hat Enterprise Linux AppStream (v. 10) expat-devel 2.7.3-1.el10_2.5, expat-debuginfo 2.7.3-1.el10_2.5, expat-debugsource 2.7.3-1.el10_2.5fixed: vendor fix RHSA-2026:74001
-
Red Hat Enterprise Linux BaseOS (v. 8) expat 2.5.0-4.el8_10fixed: vendor fix RHSA-2026:72448
-
Red Hat Enterprise Linux BaseOS (v. 9) expat 2.5.0-6.el9_8.5fixed: vendor fix RHSA-2026:72663
-
Red Hat Enterprise Linux BaseOS (v. 10) expat 2.7.3-1.el10_2.5fixed: vendor fix RHSA-2026:74001
show 3 moreshow fewer
-
Red Hat Hardened Images expat 2.8.4-0.2.hum1fixed: vendor fix RHSA-2026:71655
-
Red Hat OpenShift Container Platform 4.22 rhcos 4.22.9.8.202610241758fixed: vendor fix RHSA-2026:89197
-
Red Hat Update Infrastructure 5 rhui5/cds-rhel9 1791978528, rhui5/rhua-rhel9 1791978693, rhui5/haproxy-rhel9 1791978528, rhui5/installer-rhel9 1791964013, rhui5/cds-kubernetes-rhel9 1791978534fixed: vendor fix RHSA-2026:82939
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 48 d ago
Exploit prediction
0.40% chance of exploitation in the next 30 days, higher than 34% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 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 |
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| CNA | 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/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:X |
Affected products
- libexpat libexpat
Classification
- Weakness
-
- CWE-176 Improper Handling of Unicode Encoding
References
-
github.com
/libexpat/libexpat/pull/1282
issue-tracking, patch
-
github.com
/libexpat/libexpat/commit/ff6e1d7e750bbe245178f51a47a965dc8342861a
patch
-
blog.hartwork.org
/posts/expat-2-8-5-released/
vendor-advisory
-
github.com
/libexpat/libexpat/releases/tag/R_2_8_5
release-notes
-
github.com
/libexpat/libexpat
product
-
vulncheck.com
/advisories/expat-through-2.8.4-malformed-utf-16-acceptance-via-unchecked-surrogate
third-party-advisory
Sources
- CVE List CVE-2026-93990
- NVD CVE-2026-93990
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.