CVE-2026-44990: Apostrophe has default XSS via `xmp` raw-text passthrough in `sanitize-html`
Vulnerability summary
CVE-2026-44990 is a critical (CVSS 9.3) vulnerability in apostrophecms sanitize-html. EPSS estimates a 0.68% chance of exploitation in the next 30 days, higher than 52.6% of scored vulnerabilities.
Severe, CVSS 9.3 (CVE.org); no exploitation reported by the 5 checked sources; EPSS 1% (FIRST, 03-11-2026)
Source freshness unavailable
How is this decided?Advisory lineage
Upstream 0 · Downstream 3 · Related 3Timeline
- 12-06-2026PublishedVulnerability first disclosed.
- 10-09-2026Last modifiedVulnerability information updated.
Description
ApostropheCMS is an open-source Node.js content management system, and sanitize-html provides a simple HTML sanitizer with a clear API. Under the default configuration, versions of `sanitize-html` prior to 2.17.4 can turn attacker-controlled content inside a disallowed `xmp` element into live HTML or JavaScript. This is a sanitizer bypass in the default `disallowedTagsMode: 'discard'` path and can lead to stored XSS in applications that render sanitized output back to users. Version 2.17.4 patches the issue.
CVSS metrics
3 scores · 3 sources · 1 version- OSV · NpmEcosystem advisory · calculated9.3CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
- NVDNIST9.3CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
EPSS trend
Probability
0.68%
Chance of exploitation in the next 30 days
Percentile
53%
Versus all other CVEs
30-day change
Decrease -0.01 pp
From 0.69% on 04-10-2026
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root causeAffected systems
Known conditions: network-reachable, no authentication, user interaction (CVSS vector). Other conditions: not stated in public data.
Apostrophecms1 product
- sanitize-html< 2.17.4
Npm1 product
- sanitize-html≥ 2.17.3, < 2.17.4
2 vendors · 2 products