{"id":"CVE-2026-113650","revision":"3b53adb0cb10493c8ebe79878328f20f","records":[{"revision":"3b53adb0cb10493c8ebe79878328f20f","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-113650","aliases":[],"title":"ApostropheCMS sanitize-html: unbounded recursion when re-sanitizing the fallback of a discarded iframe (stack overflow, nestingLimit not enforced)","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.","state":0,"publishedAt":"2026-10-20T16:19:12.1+00:00","modifiedAt":"2026-10-20T16:19:12.1+00:00","affected":[{"ecosystem":"Vendor product","name":"apostrophe","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"apostrophecms\",\n                    \"product\": \"apostrophe\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 4.34.0\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"sanitize-html","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"apostrophecms\",\n                    \"product\": \"sanitize-html\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 2.18.0, < 2.18.1\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","score":5.3,"severity":"MEDIUM"}],"references":["https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-c9rx-x947-fp3h","https://github.com/apostrophecms/apostrophe/commit/06e4b377f3c360f9e89c32dccd7e505ad5ddf498","https://github.com/apostrophecms/apostrophe/commit/40b989b1a9dd23d30029b8ce7668634265cfe5ea","https://github.com/apostrophecms/apostrophe/releases/tag/sanitize-html@2.18.1"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-113650","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-113650","identifiers":["CVE-2026-113650"]},"retained":false,"historicalAffected":[]}],"coverage":[]}