Skip to content
CVE PROGRAM SOURCE RECORD8.7 High

CVE-2026-93990

Expat before 2.8.5 Malformed UTF-16 Acceptance via Unchecked Surrogate

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

libexpat libexpat

Default version status: unaffected

  • 0 to < 2.8.5affected
  • 2.8.5unaffected
pkg:github/libexpat/libexpat

References