{"id":"CVE-2026-117540","aliases":[],"title":"svg-sanitizer before 1.1.0 Quadratic CPU-Exhaustion DoS via PHP-Tag Stripping Loop","titleSource":"VulnCheck","descriptionSource":"VulnCheck","products":[{"vendor":"darylldoyle","name":"svg-sanitizer","platforms":[],"versions":[{"version":"0.5.3","status":"affected","lessThan":"1.1.0","versionType":"semver"},{"version":"1.1.0","status":"unaffected","versionType":"semver"}],"defaultStatus":"unaffected","source":"VulnCheck","url":"https://www.cve.org/CVERecord?id=CVE-2026-117540"}],"remediation":[],"description":"svg-sanitizer from 0.5.3 before 1.1.0 contains a denial of service vulnerability in Sanitizer::sanitize() that repeatedly rescans the whole input while stripping PHP tags. Unauthenticated attackers can upload SVGs with many overlapping PHP tag openers and closers, forcing quadratic preg_replace passes that exhaust worker CPU for minutes.","severity":"high","score":8.7,"published":"2026-10-27T10:59:34.119Z","modified":"2026-10-27T10:59:34.119Z","withdrawn":false,"knownExploited":false,"affected":[],"references":["https://github.com/darylldoyle/svg-sanitizer/security/advisories/GHSA-2v7c-jx29-jprp","https://github.com/darylldoyle/svg-sanitizer/commit/9ba9001493f5da737759303f13bd965ebdaa778c","https://www.vulncheck.com/advisories/svg-sanitizer-before-1.1.0-quadratic-cpu-exhaustion-dos-via-php-tag-stripping-loop"],"sources":[{"name":"CVE","id":"CVE-2026-117540","modified":"2026-10-27T10:59:34.119Z","url":"https://www.cve.org/CVERecord?id=CVE-2026-117540"}],"assessments":[{"source":"VulnCheck","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","score":8.7},{"source":"VulnCheck","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":7.5}],"sourceAffected":[],"kev":{"status":"not-listed","checkedAt":"2026-10-29T03:10:35.950Z"},"coverage":[{"source":"NVD","status":"not-checked"},{"source":"GHSA","status":"not-checked"},{"source":"EUVD","status":"not-checked"},{"source":"EPSS","status":"not-checked"}],"evidence":[]}