Skip to content
OpenAdvisories
Low · 3.7 CVE-2026-113657 EUVD-2026-105186GHSA-374f-7chj-9948

ApostropheCMS sanitize-html: SMIL animation namespace-prefix bypass allows javascript: URI injection (XSS)

Published Oct 20, 2026 · Updated Oct 20, 2026 · Assigned by GitHub_M

Description

ApostropheCMS is an open-source Node.js content management system, and sanitize-html provides a simple HTML sanitizer with a clear API. From sanitize-html 2.17.7 until 2.18.0, an application configuration that permits namespace-prefixed SVG animation elements and the relevant URL-targeting attributes can bypass the SMIL URL protection because prefixed tag names do not match the unprefixed animation-element check. The bypass can rewrite a link destination to an unsafe URI after the sanitized SVG is rendered, with script execution occurring when a user activates the affected link; the default sanitizer configuration is not unconditionally affected. This issue is fixed in sanitize-html 2.18.0.

Affected products

VendorProductAffectedFixed
apostrophecms apostrophe < 4.33.0 —
apostrophecms sanitize-html >= 2.17.7, < 2.18.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm sanitize-html >= 2.17.7, < 2.18.0 2.18.0 GHSA-374f-7chj-9948

References