Skip to content
Fencer Vulns
high 7.5

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

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-expat1
    affected: 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-9
    affected: workaround, no fix available
  • Red Hat Cost Management On-Premise 1 costmanagement/costmanagement-ui-rhel10 1791460851
    fixed: 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.5
    fixed: 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.5
    fixed: vendor fix RHSA-2026:74001
  • Red Hat Enterprise Linux BaseOS (v. 8) expat 2.5.0-4.el8_10
    fixed: vendor fix RHSA-2026:72448
  • Red Hat Enterprise Linux BaseOS (v. 9) expat 2.5.0-6.el9_8.5
    fixed: vendor fix RHSA-2026:72663
  • Red Hat Enterprise Linux BaseOS (v. 10) expat 2.7.3-1.el10_2.5
    fixed: vendor fix RHSA-2026:74001
show 3 more
  • Red Hat Hardened Images expat 2.8.4-0.2.hum1
    fixed: vendor fix RHSA-2026:71655
  • Red Hat OpenShift Container Platform 4.22 rhcos 4.22.9.8.202610241758
    fixed: 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 1791978534
    fixed: 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

Sources

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.