CVE-2026-84370: SVGO: removeScripts allows executable links through namespace and control-character bypasses
SVGO’s opt-in removeScripts plugin failed to remove some executable links. Namespace-prefixed SVG anchors and URL schemes containing ASCII tabs or newlines could bypass its checks. Applications that used this plugin as their only protection for untrusted SVG input could expose users to cross-site scripting (XSS).
SVGO is an optimizer rather than a comprehensive sanitization library, but removeScripts is maintained for consumers that already rely on it to remove common script execution paths.
References
- github.com/advisories/GHSA-w27v-7q3p-w38r
- github.com/svg/svgo/commit/0557385564a5c6c11d76cd934a6cff94451e532c
- github.com/svg/svgo/commit/3db3ef33e409a0bc0fdaf255e46c908b00e93bc2
- github.com/svg/svgo/commit/994a9f00d79ddec68ce19a1ce9eb8ca08d747e4f
- github.com/svg/svgo/pull/2268
- github.com/svg/svgo/pull/2269
- github.com/svg/svgo/pull/2272
- github.com/svg/svgo/releases/tag/v2.8.4
- github.com/svg/svgo/releases/tag/v3.3.5
- github.com/svg/svgo/releases/tag/v4.1.0
- github.com/svg/svgo/security/advisories/GHSA-w27v-7q3p-w38r
- nvd.nist.gov/vuln/detail/CVE-2026-84370
Code Behaviors & Features
Detect and mitigate CVE-2026-84370 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →