[ CVE-2026-113654 · Published 20 Oct 2026 ]
ApostropheCMS sanitize-html: nonTextTags discard region ends early on an implied close, letting <noscript> content render
CVSS 5.3
EPSS <1%Fix available
[ 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. Prior to sanitize-html 2.18.0, a non-default nonTextTags configuration that includes noscript can end its discard region early when htmlparser2 emits an implied ancestor close inside noscript. Because scripting-enabled browsers treat noscript content as raw text while the parser does not model that mode, content intended to remain inert can survive sanitization and render; the issue does not generalize to every default nonTextTags element. 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.18.0)
[ Packages ]Affected open-source packages
- sanitize-html npmAffected < 2.18.0 · fixed in 2.18.0 · GHSA-x3q4-9hxx-gx8m
[ 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-x3q4-9hxx-gx8m