[ CVE-2026-113657 · Published 20 Oct 2026 ]
ApostropheCMS sanitize-html: SMIL animation namespace-prefix bypass allows javascript: URI injection (XSS)
CVSS 3.7
EPSS <1%Fix available
[ Why it matters ]Priority signals
- Public proof-of-concept exploit exists (CISA SSVC)
[ Description ]Official 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.
[ Fixes ]Fixes and patches
- sanitize-html 2.18.0Fixed version · GitHub Advisories · npm package sanitize-html: upgrade to 2.18.0 or later (affected >= 2.17.7, < 2.18.0)
[ Packages ]Affected open-source packages
- sanitize-html npmAffected >= 2.17.7, < 2.18.0 · fixed in 2.18.0 · GHSA-374f-7chj-9948
[ References ]References
- github.com/apostrophecms/apostrophe/commit/9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce
- github.com/apostrophecms/apostrophe/commit/f84fd41cbf6c22eb8d0008fc9c25df1f7130b350
- github.com/apostrophecms/apostrophe/releases/tag/sanitize-html@2.18.0
- github.com/apostrophecms/apostrophe/security/advisories/GHSA-374f-7chj-9948