dompurify.js, 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
- dompurify.js, node-dompurify
- Affected versions
- 0.7.3~dfsg1-1, 0.7.3~dfsg1-2, 0.9.0~dfsg1-1, 0.9.0~dfsg1-2, 2.3.0+dfsg-2, 2.3.3+dfsg-1, 2.4.1+dfsg+~2.4.0-1, 3.0.9+dfsg+~3.0.5-1, 3.1.7+dfsg+~3.0.5-2, 3.3.3+dfsg-1, 3.4.12+dfsg-1, 3.4.13+dfsg-1, 3.4.13+dfsg-2, 3.4.2+dfsg-1, 3.4.5+dfsg-1
- Fixed versions
- Not specified
- CVEs
- CVE-2026-49978
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 02:26 UTC · Revision 1
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:UBUNTU-CVE-2026-49978
dompurify.js
Fixed versions: Not specified
dompurify.js
Fixed versions: Not specified
node-dompurify
Fixed versions: Not specified
node-dompurify
Fixed versions: Not specified
node-dompurify
Fixed versions: Not specified
node-dompurify
Fixed versions: Not specified
Complete source record
{
"id": "0194893dcb6b02b67207cfdbb4b6331f5238d7091888265befc47cbc156a02c2",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-49978",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-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:UBUNTU-CVE-2026-49978",
"products": [
{
"name": {
"value": "dompurify.js",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.7.3~dfsg1-1",
"evidence": "/affected/0/versions"
},
{
"value": "0.7.3~dfsg1-2",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "dompurify.js",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.9.0~dfsg1-1",
"evidence": "/affected/1/versions"
},
{
"value": "0.9.0~dfsg1-2",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "node-dompurify",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.3.0+dfsg-2",
"evidence": "/affected/2/versions"
},
{
"value": "2.3.3+dfsg-1",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "node-dompurify",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.1+dfsg+~2.4.0-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.0.9+dfsg+~3.0.5-1",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "node-dompurify",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.3.3+dfsg-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.2+dfsg-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.5+dfsg-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.12+dfsg-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.13+dfsg-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.13+dfsg-2",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "node-dompurify",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.1.7+dfsg+~3.0.5-2",
"evidence": "/affected/5/versions"
},
{
"value": "3.3.3+dfsg-1",
"evidence": "/affected/5/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "UBUNTU-CVE-2026-49978",
"aliases": [
"UBUNTU-CVE-2026-49978"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N"
},
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "dompurify.js",
"purl": "pkg:deb/ubuntu/dompurify.js?arch=source&distro=xenial",
"ecosystem": "Ubuntu:16.04:LTS"
},
"versions": [
"0.7.3~dfsg1-1",
"0.7.3~dfsg1-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49978.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libjs-dompurify",
"binary_version": "0.7.3~dfsg1-2"
},
{
"binary_name": "node-dompurify",
"binary_version": "0.7.3~dfsg1-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "dompurify.js",
"purl": "pkg:deb/ubuntu/dompurify.js?arch=source&distro=bionic",
"ecosystem": "Ubuntu:18.04:LTS"
},
"versions": [
"0.9.0~dfsg1-1",
"0.9.0~dfsg1-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49978.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libjs-dompurify",
"binary_version": "0.9.0~dfsg1-2"
},
{
"binary_name": "node-dompurify",
"binary_version": "0.9.0~dfsg1-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-dompurify",
"purl": "pkg:deb/ubuntu/node-dompurify?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"2.3.0+dfsg-2",
"2.3.3+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49978.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-dompurify",
"binary_version": "2.3.3+dfsg-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-dompurify",
"purl": "pkg:deb/ubuntu/node-dompurify?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"2.4.1+dfsg+~2.4.0-1",
"3.0.9+dfsg+~3.0.5-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49978.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-dompurify",
"binary_version": "3.0.9+dfsg+~3.0.5-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-dompurify",
"purl": "pkg:deb/ubuntu/node-dompurify?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"3.3.3+dfsg-1",
"3.4.2+dfsg-1",
"3.4.5+dfsg-1",
"3.4.12+dfsg-1",
"3.4.13+dfsg-1",
"3.4.13+dfsg-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49978.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-dompurify",
"binary_version": "3.4.13+dfsg-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-dompurify",
"purl": "pkg:deb/ubuntu/node-dompurify?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"3.1.7+dfsg+~3.0.5-2",
"3.3.3+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49978.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-dompurify",
"binary_version": "3.3.3+dfsg-1"
}
]
}
}
],
"modified": "2026-10-17T12:58:32.847440174Z",
"provider": "osv",
"upstream": [
"CVE-2026-49978"
],
"references": [
"https://ubuntu.com/security/CVE-2026-49978",
"https://www.cve.org/CVERecord?id=CVE-2026-49978",
"https://github.com/cure53/DOMPurify/commit/ca30f070c360df162a3e3848e80e6fd3c9e74bff",
"https://github.com/cure53/DOMPurify/releases/tag/3.4.7",
"https://github.com/cure53/DOMPurify/security/advisories/GHSA-rp9w-3fw7-7cwq"
]
},
"related_cves": [
{
"value": "CVE-2026-49978",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 358737,
"published_at": "2026-07-14T21:17:00+00:00"
}