---
id: "CVE-2026-116802"
kind: "vulnerability"
aliases: ["CVE-2026-116802"]
title: "DOMPurify: SMIL attribute case bypass lets SVG run script on click"
severity: "medium"
cvss: 6.1
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["dompurify", "frontend", "javascript", "package", "web-apps"]
not_affected_if: ["default-config", "no-svg-input"]
published_at: "2026-10-27T00:17:11+00:00"
first_seen_at: "2026-10-27T00:25:55+00:00"
updated_at: "2026-10-27T00:26:39+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116802", "first_seen_at": "2026-10-27T00:25:55+00:00"}]
---

# DOMPurify: SMIL attribute case bypass lets SVG run script on click

DOMPurify before 3.4.17 fails to block SVG animate or set elements that target href when the parser media type is application/xhtml+xml, because attribute names are not lowercased. An attacker can supply a javascript: URL through SMIL values and run script in the page when a user clicks the sanitized link.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed DOMPurify version with `npm ls dompurify` or in the lockfile.
- Look for calls that set PARSER_MEDIA_TYPE to `application/xhtml+xml` alongside SVG input.

## Fix

- Upgrade DOMPurify to `3.4.17` or later.
- Until upgraded, avoid sanitizing untrusted SVG with the `application/xhtml+xml` parser media type.

## Timeline

- 2026-10-27T00:25:55+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116802

## From the sources

DOMPurify before 3.4.17 contains a cross-site scripting vulnerability that allows attackers to bypass the SMIL attributeName=href guard when PARSER_MEDIA_TYPE is application/xhtml+xml, because transformCaseFunc does not lowercase attribute names. Attackers can submit SVG with an animate or set element using attributeName="href" and a javascript: entry in values to execute script when users click the sanitized link.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
