Expat before 2.8.5 Malformed UTF-16 Acceptance via Unchecked Surrogate
Products / packages libexpat · Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) · Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) · 3 more
Published
Severity and exploitation
KEV coverage does not rule out exploitation.
Assessment vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NAssessment vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NSeverity
high8.7CVSS measures technical severity, not the likelihood of an attack.
Known exploitation
Not listed in the checked CISA KEV catalog
Absence from CISA KEV does not rule out attacks.
Public exploit
Not established by this record
Missing evidence does not mean no public exploit exists.
Remediation
Fix status not established
No structured fix or guidance is available here. Check the latest publisher advisory.
What this means
Expat before 2.8.5 fails to validate UTF-16 input, allowing malformed sequences to be accepted. Attackers can supply malformed UTF-16 encoded XML. The impact is silent replacement of input characters in some builds.
Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.Attack conditions
No attack-condition excerpt has been identified here. Review the full source description and references for authentication, network access, and configuration requirements.
Review supporting sources →Affected versions
Check the exact model, release, and any platform requirements against your installation.
libexpat · VulnCheck
libexpat
2 ranges
libexpat · VulnCheck
libexpat
Package identity
pkg:github/libexpat/libexpatIdentity supplied by VulnCheck. Version matching requires compatible range evidence.
Compare with this publisher’s ranges. This does not inspect your installation.
affected
0 → before 2.8.5
semver versions
unaffected
2.8.5
semver versions
Other versions: unaffected
Siemens · siemens-SADP
SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0)
1 range
Siemens · siemens-SADP
SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0)
Compare with this publisher’s ranges. This does not inspect your installation.
affected
V3.1.7 → before *
custom versions
Other versions: unknown
Siemens · siemens-SADP
SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0)
1 range
Siemens · siemens-SADP
SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0)
Compare with this publisher’s ranges. This does not inspect your installation.
affected
V3.1.7 → before *
custom versions
Other versions: unknown
Siemens · siemens-SADP
SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0)
1 range
Siemens · siemens-SADP
SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0)
Compare with this publisher’s ranges. This does not inspect your installation.
affected
V3.1.7 → before *
custom versions
Other versions: unknown
Siemens · siemens-SADP
SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0)
1 range
Siemens · siemens-SADP
SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0)
Compare with this publisher’s ranges. This does not inspect your installation.
affected
V3.1.7 → before *
custom versions
Other versions: unknown
Siemens · siemens-SADP
SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0)
1 range
Siemens · siemens-SADP
SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0)
Compare with this publisher’s ranges. This does not inspect your installation.
affected
V3.1.7 → before *
custom versions
Other versions: unknown
What to do
Compare your installed product and version with the affected versions above. A matching product name alone does not confirm exposure.
No structured fix or remediation guidance is available here. Check the full source description and vendor’s latest advisory for a patch or workaround; do not assume another version is safe.
cve.new guidance unless attributed to a publisher. This page does not inspect your installation.
Public exploit evidence
No public exploit reference is identified in the imported evidence. This is not a claim that no exploit exists.
Original source description
Read the full publisher 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.
References
7 sourcesView 1 more references
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-93990View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Environment requirements
These conditions apply together as specified by the publisher. A matching product name alone does not establish exposure.
VulnCheck · platform conditions
Any condition may hold
Vulnerable product
cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:*Before: 2.8.5
Applicability preview
[
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.8.5"
}
]
}
]
}
]Contributing organizations · 3
Assigning organization
Additional data publisher
Additional data publisher
Timeline
All times UTCAdvisory published
Publication date supplied by the source.
Source updated
Latest modification date supplied by the source.
Last imported by cve.new
Latest catalog import, not the date we first saw this advisory.
What changed
Follow changes- CVE · CVE-2026-93990
Observed 2026-11-10T13:03:17.894Z · upstream updated 2026-11-10T12:49:54.993Z
Product or version evidence changed
before
[ { "vendor": "libexpat", "name": "libexpat", "platforms": [], "versions": [ { "version": "0", "status": "affected", "lessThan": "2.8.5", "versionType": "semver" }, { "version": "2.8.5", "status": "unaffected", "versionType": "semver" } ], "defaultStatus": "unaffected", "packageURL": "pkg:github/libexpat/libexpat", "cpes": [], "source": "VulnCheck", "url": "https://www.cve.org/CVERecord?id=CVE-2026-93990" } ]after
[ { "vendor": "libexpat", "name": "libexpat", "platforms": [], "versions": [ { "version": "0", "status": "affected", "lessThan": "2.8.5", "versionType": "semver" }, { "version": "2.8.5", "status": "unaffected", "versionType": "semver" } ], "defaultStatus": "unaffected", "packageURL": "pkg:github/libexpat/libexpat", "cpes": [], "source": "VulnCheck", "url": "https://www.cve.org/CVERecord?id=CVE-2026-93990" }, { "vendor": "Siemens", "name": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0)", "platforms": [], "versions": [ { "version": "V3.1.7", "status": "affected", "lessThan": "*", "versionType": "custom" } ], "defaultStatus": "unknown", "cpes": [], "source": "siemens-SADP", "url": "https://www.cve.org/CVERecord?id=CVE-2026-93990" }, { "vendor": "Siemens", "name": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0)", "platforms": [], "versions": [ { "version": "V3.1.7", "status": "affected", "lessThan": "*", "versionType": "custom" } ], "defaultStatus": "unknown", "cpes": [], "source": "siemens-SADP", "url": "https://www.cve.org/CVERecord?id=CVE-2026-93990" }, { "vendor": "Siemens", "name": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0)", "platforms": [], "versions": [ { "version": "V3.1.7", "status": "affected", "lessThan": "*", "versionType": "custom" } ], "defaultStatus": "unknown", "cpes": [], "source": "siemens-SADP", "url": "https://www.cve.org/CVERecord?id=CVE-2026-93990" }, { "vendor": "Siemens", "name": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0)", "platforms": [], "versions": [ { "version": "V3.1.7", "status": "affected", "lessThan": "*", "versionType": "custom" } ], "defaultStatus": "unknown", "cpes": [], "source": "siemens-SADP", "url": "https://www.cve.org/CVERecord?id=CVE-2026-93990" }, { "vendor": "Siemens", "name": "SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0)", "platforms": [], "versions": [ { "version": "V3.1.7", "status": "affected", "lessThan": "*", "versionType": "custom" } ], "defaultStatus": "unknown", "cpes": [], "source": "siemens-SADP", "url": "https://www.cve.org/CVERecord?id=CVE-2026-93990" } ]References changed
before
[ "https://github.com/libexpat/libexpat/pull/1282", "https://github.com/libexpat/libexpat/commit/ff6e1d7e750bbe245178f51a47a965dc8342861a", "https://github.com/libexpat/libexpat/releases/tag/R_2_8_5", "https://blog.hartwork.org/posts/expat-2-8-5-released/", "https://github.com/libexpat/libexpat", "https://www.vulncheck.com/advisories/expat-through-2.8.4-malformed-utf-16-acceptance-via-unchecked-surrogate" ]
after
[ "https://github.com/libexpat/libexpat/pull/1282", "https://github.com/libexpat/libexpat/commit/ff6e1d7e750bbe245178f51a47a965dc8342861a", "https://github.com/libexpat/libexpat/releases/tag/R_2_8_5", "https://blog.hartwork.org/posts/expat-2-8-5-released/", "https://github.com/libexpat/libexpat", "https://www.vulncheck.com/advisories/expat-through-2.8.4-malformed-utf-16-acceptance-via-unchecked-surrogate", "https://cert-portal.siemens.com/productcert/html/ssa-457936.html" ]
Large field values are marked as truncated previews. Original source snapshots remain retained.
Showing up to 50 most recent observed changes.