Expat before 2.8.5 Malformed UTF-16 Acceptance via Unchecked Surrogate
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Partial Red Hat: 9 fixed, 7 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat.
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| libexpat project | libexpat | before 2.8.5 | 2.8.5 | Patch available | CNA |
- libexpat Vendorlibexpat project Affected before 2.8.5 Fixed in 2.8.5 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:* | — | — | libexpat project |
- cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:* Versions — — ·libexpat project
Remediation
- Fix · CNA libexpat (libexpat) Fixed in 2.8.5
Red Hat 7 advisories
- RHSA-2026:89197 Released 2026-10-27 · Red Hat rating CriticalOpenShift Container Platform 4.22.20 bug fix and security update
- Red Hat OpenShift Container Platform 4.22 rhcos-aarch64-4.22.9.8.202610241758-0, rhcos-ppc64le-4.22.9.8.202610241758-0, rhcos-s390x-4.22.9.8.202610241758-0 +1
- RHSA-2026:82939 Released 2026-10-14 · Red Hat rating ImportantRed Hat Update Infrastructure 5.3 security update
- Red Hat Update Infrastructure 5 registry.redhat.io/rhui5/cds-kubernetes-rhel9, registry.redhat.io/rhui5/cds-rhel9, registry.redhat.io/rhui5/haproxy-rhel9 +2
- RHSA-2026:79357 Released 2026-10-08 · Red Hat rating ImportantRed Hat Cost Management On-Premise container image update
- Red Hat Cost Management On-Premise 1 registry.redhat.io/costmanagement/costmanagement-ui-rhel10
Show 4 more Red Hat advisories
- RHSA-2026:74001 Released 2026-09-30 · Red Hat rating Importantexpat security update
- Red Hat Enterprise Linux AppStream (v. 10) expat-devel-2.7.3-1.el10_2.5
- Red Hat Enterprise Linux BaseOS (v. 10) expat-2.7.3-1.el10_2.5
- RHSA-2026:72663 Released 2026-09-29 · Red Hat rating Importantexpat security update
- Red Hat Enterprise Linux AppStream (v. 9) expat-devel-2.5.0-6.el9_8.5
- Red Hat Enterprise Linux BaseOS (v. 9) expat-2.5.0-6.el9_8.5
- RHSA-2026:72448 Released 2026-09-28 · Red Hat rating Importantexpat security update
- Red Hat Enterprise Linux BaseOS (v. 8) expat-2.5.0-4.el8_10, expat-devel-2.5.0-4.el8_10
- RHSA-2026:71655 Released 2026-09-24 · Red Hat rating ImportantRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images expat-2.8.4-0.2.hum1@aarch64, expat-2.8.4-0.2.hum1@src, expat-2.8.4-0.2.hum1@x86_64 +4
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix yet |
| Red Hat Enterprise Linux 8 | Affected | No fix yet |
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet |
| Red Hat Cost Management On-Premise 1 | Fixed | RHSA-2026:79357 |
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2026:74001 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2026:72663 |
| Red Hat Enterprise Linux BaseOS (v. 10) | Fixed | RHSA-2026:74001 |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2026:72448 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2026:72663 |
| Red Hat Hardened Images | Fixed | RHSA-2026:71655 |
| Red Hat OpenShift Container Platform 4.22 | Fixed | RHSA-2026:89197 |
| Red Hat Update Infrastructure 5 | Fixed | RHSA-2026:82939 |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-93990
- 2026-10-03 Alias added: GHSA-rfp9-ffqc-h4x8
- 2026-10-09 Fix available: RHSA-2026:79357 · Red Hat
- 2026-10-09 Fix available: Red Hat Cost Management On-Premise 1 · Red Hat
- 2026-10-16 Fix available: RHSA-2026:82939 · Red Hat
- 2026-10-16 Fix available: Red Hat Update Infrastructure 5 · Red Hat
- 2026-10-28 Fix available: Red Hat OpenShift Container Platform 4.22 · Red Hat
- 2026-10-29 Fix available: RHSA-2026:89197 · Red Hat
- 2026-10-30 Affected versions changed · Red Hat
References
More libexpat project vulnerabilities
- TI-2022-09008 In Expat (aka libexpat) before 2.4.5, there is an integer overflow in storeRawNames. CVSS 3.1CRITICAL 9.8
- TI-2026-79488 Billion laughs detection delay in libexpat enables denial of service CVSS 4.0HIGH 8.7
- TI-2022-08947 xmlparse.c in Expat (aka libexpat) before 2.4.5 allows attackers to insert… CVSS 3.1CRITICAL 9.8
- TI-2021-20962 In Expat (aka libexpat) before 2.4.3, a left shift by 29 (or more) places in the… CVSS 3.1HIGH 8.8
- TI-2021-21076 In doProlog in xmlparse.c in Expat (aka libexpat) before 2.4.3, an integer overflow exists for m_groupSize. CVSS 3.1HIGH 8.1
- TI-2016-00645 Expat allows context-dependent attackers to cause a denial of service (crash) or possibly… CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-93990 · CVE Program
- CVE-2026-93990 · NVD
- FIRST EPSS
- GHSA-rfp9-ffqc-h4x8 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-93990 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences