CVE-2025-15599
Medium · 6.1CVSS
6.1
EPSS
0.3%
Published
Mar 3, 2026
CISA due date
—
The record
DOMPurify 3.1.3 through 3.2.6 and 2.5.3 through 2.5.8 contain a cross-site scripting vulnerability that allows attackers to bypass attribute sanitization by exploiting missing textarea rawtext element validation in the SAFE_FOR_XML regex. Attackers can include closing rawtext tags like </textarea> in attribute values to break out of rawtext contexts and execute JavaScript when sanitized output is placed inside rawtext elements. The 3.x branch was fixed in 3.2.7; the 2.x branch was never patched.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | dompurify | 2.5.3 | No fix |
| npm | dompurify | 3.1.3 | 3.2.7 |
| Chainguard | langfuse-2 | 0 | 2.95.12-r13 |
| Chainguard | langfuse-2-worker | 0 | 2.95.12-r13 |
| Chainguard | langfuse-3 | 0 | 3.160.0-r1 |
| Chainguard | langfuse-3-worker | 0 | 3.160.0-r1 |
| Chainguard | langfuse-fips-2 | 0 | 2.95.12-r16 |
| Chainguard | langfuse-fips-2-worker | 0 | 2.95.12-r16 |
| Chainguard | langfuse-fips-3 | 0 | 3.160.0-r1 |
| Chainguard | langfuse-fips-3-worker | 0 | 3.160.0-r1 |
| Chainguard | opensearch-dashboards-2 | 0 | 2.19.5-r3 |
| Chainguard | opensearch-dashboards-2-fips | 0 | 2.19.5-r1 |
| Chainguard | opensearch-dashboards-3 | 0 | 3.5.0-r6 |
| Chainguard | opensearch-dashboards-3-fips | 0 | 3.5.0-r6 |
| Wolfi | langfuse-3 | 0 | 3.160.0-r1 |
| Wolfi | langfuse-3-worker | 0 | 3.160.0-r1 |
| Wolfi | opensearch-dashboards-2 | 0 | 2.19.5-r3 |
| Wolfi | opensearch-dashboards-3 | 0 | 3.5.0-r6 |
Related vulnerabilities
- GHSA-v8jm-5vwx-cfxm DOMPurify contains a Cross-site Scripting vulnerability Same vulnerability
- GHSA-cmwh-pvxp-8882 DOMPurify: Permanent `ALLOWED_ATTR` pollution via `setConfig()` bypassing the hook… Also affects dompurify
- GHSA-vxr8-fq34-vvx9 DOMPurify: Trusted Types policy survives `clearConfig()` and can poison later… Also affects dompurify
- GHSA-gvmj-g25r-r7wr DOMPurify: SAFE_FOR_TEMPLATES bypass - template expressions survive sanitization inside… Also affects dompurify
- GHSA-rp9w-3fw7-7cwq DOMPurify IN_PLACE Sanitization Bypass via Attached Shadow Root Inside .content Also affects dompurify
- GHSA-x4vx-rjvf-j5p4 DOMPurify: `IN_PLACE` mode trusts attacker-controlled `nodeName` on live non-form nodes… Also affects dompurify
- GHSA-76mc-f452-cxcm DOMPurify: Hook mutation of `data.allowedTags` / `data.allowedAttributes` permanently… Also affects dompurify
- GHSA-hpcv-96wg-7vj8 DOMPurify: Cross-realm IN_PLACE sanitization leaves executable markup intact via… Also affects dompurify