[ CVE-2026-113650 · Published 20 Oct 2026 ]
ApostropheCMS sanitize-html: unbounded recursion when re-sanitizing the fallback of a discarded iframe (stack overflow, nestingLimit not enforced)
CVSS 5.3
EPSS <1%Fix available
[ Description ]Official description
ApostropheCMS is an open-source Node.js content management system. In sanitize-html 2.18.0, when an <iframe> is not allowed and disallowedTagsMode is 'discard' (the defaults), its raw-text content is re-sanitized by a recursive call to sanitizeHtml(text, options). The recursion has no bound and starts each nested call with a fresh state. This vulnerability is fixed in 2.18.1.
[ Fixes ]Fixes and patches
- sanitize-html 2.18.1Fixed version · GitHub Advisories · npm package sanitize-html: upgrade to 2.18.1 or later (affected >= 2.18.0, < 2.18.1)
[ Packages ]Affected open-source packages
- sanitize-html npmAffected >= 2.18.0, < 2.18.1 · fixed in 2.18.1 · GHSA-c9rx-x947-fp3h
[ References ]References
- github.com/apostrophecms/apostrophe/commit/06e4b377f3c360f9e89c32dccd7e505ad5ddf498
- github.com/apostrophecms/apostrophe/commit/40b989b1a9dd23d30029b8ce7668634265cfe5ea
- github.com/apostrophecms/apostrophe/releases/tag/sanitize-html@2.18.1
- github.com/apostrophecms/apostrophe/security/advisories/GHSA-c9rx-x947-fp3h