node-dompurify — security advisory
DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. Prior to 3.4.7, DOMPurify IN_PLACE sanitization could skip shadow contents attached to an element inside .content, allowing attacker-controlled markup such as event handlers, JavaScript URLs, or scripts to survive and execute when an application cloned and inserted the sanitized template. This issue is fixed in version 3.4.7.
- Products
- node-dompurify
- Affected versions
- 2.4.1+dfsg+~2.4.0-1, 2.4.1+dfsg+~2.4.0-2, 2.4.1+dfsg+~2.4.0-2+deb12u1, 3.0.9+dfsg+~3.0.5-1, 3.1.6+dfsg+~3.0.5-1, 3.1.7+dfsg+~3.0.5-1, 3.1.7+dfsg+~3.0.5-2, 3.2.5+dfsg-1, 3.3.2+dfsg-1, 3.3.3+dfsg-1, 3.3.3+dfsg-2, 3.4.1+dfsg-1, 3.4.12+dfsg-1, 3.4.13+dfsg-1, 3.4.13+dfsg-2, 3.4.16+dfsg-1, 3.4.2+dfsg-1, 3.4.5+dfsg-1
- Fixed versions
- 3.4.12+dfsg-1
- CVEs
- CVE-2026-49978
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 09:51 UTC · Revision 2
Source evidence
DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. Prior to 3.4.7, DOMPurify IN_PLACE sanitization could skip shadow contents attached to an element inside .content, allowing attacker-controlled markup such as event handlers, JavaScript URLs, or scripts to survive and execute when an application cloned and inserted the sanitized template. This issue is fixed in version 3.4.7.
osv:DEBIAN-CVE-2026-49978
node-dompurify
Fixed versions: Not specified
node-dompurify
Fixed versions: Not specified
node-dompurify
Fixed versions: 3.4.12+dfsg-1
Complete source record
{
"id": "2c5eb7b7ceeaa9fe752a7b789096aaa9462ee16aa22b65dd34bec53c11a89981",
"url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-49978",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "DEBIAN-CVE-2026-49978",
"summary": "DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. Prior to 3.4.7, DOMPurify IN_PLACE sanitization could skip shadow contents attached to an element inside .content, allowing attacker-controlled markup such as event handlers, JavaScript URLs, or scripts to survive and execute when an application cloned and inserted the sanitized template. This issue is fixed in version 3.4.7.",
"evidence": "osv:DEBIAN-CVE-2026-49978",
"products": [
{
"name": {
"value": "node-dompurify",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.1+dfsg+~2.4.0-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.4.1+dfsg+~2.4.0-2",
"evidence": "/affected/0/versions"
},
{
"value": "2.4.1+dfsg+~2.4.0-2+deb12u1",
"evidence": "/affected/0/versions"
},
{
"value": "3.0.9+dfsg+~3.0.5-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.1.6+dfsg+~3.0.5-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.1.7+dfsg+~3.0.5-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.1.7+dfsg+~3.0.5-2",
"evidence": "/affected/0/versions"
},
{
"value": "3.2.5+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.3.2+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.3.3+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.3.3+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "3.4.1+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.4.12+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.4.13+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.4.13+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "3.4.16+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.4.2+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.4.5+dfsg-1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "node-dompurify",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.1.7+dfsg+~3.0.5-2",
"evidence": "/affected/1/versions"
},
{
"value": "3.2.5+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.3.2+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.3.3+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.3.3+dfsg-2",
"evidence": "/affected/1/versions"
},
{
"value": "3.4.1+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.4.12+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.4.13+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.4.13+dfsg-2",
"evidence": "/affected/1/versions"
},
{
"value": "3.4.16+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.4.2+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.4.5+dfsg-1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "node-dompurify",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.4.12+dfsg-1",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": [
{
"value": "3.1.7+dfsg+~3.0.5-2",
"evidence": "/affected/2/versions"
},
{
"value": "3.2.5+dfsg-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.3.2+dfsg-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.3.3+dfsg-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.3.3+dfsg-2",
"evidence": "/affected/2/versions"
},
{
"value": "3.4.1+dfsg-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.4.2+dfsg-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.4.5+dfsg-1",
"evidence": "/affected/2/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "DEBIAN-CVE-2026-49978",
"aliases": [
"DEBIAN-CVE-2026-49978"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-dompurify",
"purl": "pkg:deb/debian/node-dompurify?arch=source&distro=bookworm",
"ecosystem": "Debian:12"
},
"versions": [
"2.4.1+dfsg+~2.4.0-1",
"2.4.1+dfsg+~2.4.0-2",
"2.4.1+dfsg+~2.4.0-2+deb12u1",
"3.0.9+dfsg+~3.0.5-1",
"3.1.6+dfsg+~3.0.5-1",
"3.1.7+dfsg+~3.0.5-1",
"3.1.7+dfsg+~3.0.5-2",
"3.2.5+dfsg-1",
"3.3.2+dfsg-1",
"3.3.3+dfsg-1",
"3.3.3+dfsg-2",
"3.4.1+dfsg-1",
"3.4.12+dfsg-1",
"3.4.13+dfsg-1",
"3.4.13+dfsg-2",
"3.4.16+dfsg-1",
"3.4.2+dfsg-1",
"3.4.5+dfsg-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-49978.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-dompurify",
"purl": "pkg:deb/debian/node-dompurify?arch=source&distro=trixie",
"ecosystem": "Debian:13"
},
"versions": [
"3.1.7+dfsg+~3.0.5-2",
"3.2.5+dfsg-1",
"3.3.2+dfsg-1",
"3.3.3+dfsg-1",
"3.3.3+dfsg-2",
"3.4.1+dfsg-1",
"3.4.12+dfsg-1",
"3.4.13+dfsg-1",
"3.4.13+dfsg-2",
"3.4.16+dfsg-1",
"3.4.2+dfsg-1",
"3.4.5+dfsg-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-49978.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.4.12+dfsg-1"
}
]
}
],
"package": {
"name": "node-dompurify",
"purl": "pkg:deb/debian/node-dompurify?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"3.1.7+dfsg+~3.0.5-2",
"3.2.5+dfsg-1",
"3.3.2+dfsg-1",
"3.3.3+dfsg-1",
"3.3.3+dfsg-2",
"3.4.1+dfsg-1",
"3.4.2+dfsg-1",
"3.4.5+dfsg-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-49978.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
}
],
"modified": "2026-10-25T09:47:32.480042709Z",
"provider": "osv",
"upstream": [
"CVE-2026-49978"
],
"references": [
"https://security-tracker.debian.org/tracker/CVE-2026-49978"
]
},
"related_cves": [
{
"value": "CVE-2026-49978",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 445093,
"published_at": "2026-07-14T21:17:02.56+00:00"
}