CVE-2020-26870 json
Cross-site Scripting in dompurify
published 2020-10-07 6 y ago modified 2026-06-17 4 mo ago also GHSA-63q7-h895-m982 , EUVD-2020-1486
- cvss
- 6.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 4.9%
- EPSS 4.9% chance of exploitation in 30 days, percentile 92%
- public exploits
- 0
- none known
Summary
Cure53 DOMPurify before 2.0.17 allows mutation XSS. This occurs because a serialize-parse roundtrip does not necessarily return the original DOM tree, and a namespace can change from HTML to MathML, as demonstrated by nesting of FORM elements.
Patch / fix
- npm dompurify 2.0.17
- cure53 dompurify 2.0.17
- oracle application_express 21.1.0.00.01
Exploit prediction
4.88% chance of exploitation in the next 30 days, higher than 92% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- research.securitum.com https://research.securitum.com/mutation-xss-via-mathml-mutation-dompurify-2-0-17-bypass/ referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:P/A:N |
| GitHub | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | dompurify | <2.0.17 |
2.0.17 |
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/cure53/DOMPurify/commit/02724b8eb048dd219d6725b05c3000936f11d62d
web, patch, third-party-advisory
-
portal.msrc.microsoft.com
/en-US/security-guidance/advisory/CVE-2020-26870
vendor-advisory, web, patch
-
github.com
/cure53/DOMPurify/compare/2.0.16...2.0.17
web, patch, third-party-advisory
-
oracle.com
//security-alerts/cpujul2021.html
web, patch, third-party-advisory
-
research.securitum.com
/mutation-xss-via-mathml-mutation-dompurify-2-0-17-bypass/
exploit, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/10/msg00029.html
mailing-list, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-26870
advisory
-
github.com
/cure53/DOMPurify
package
-
research.securitum.com
/mutation-xss-via-mathml-mutation-dompurify-2-0-17-bypass
web
-
snyk.io
/vuln/SNYK-JS-DOMPURIFY-1016634
web
Sources
- CVE List CVE-2020-26870
- GitHub Advisory GHSA-63q7-h895-m982
- NVD CVE-2020-26870
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.