Severity by source
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Network-delivered stored XSS with scope change to victim browser; PR:N as upload endpoints typically require no elevated privilege; victim must open the SVG, so UI:R.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Lifecycle Timeline
4Blast Radius
ecosystem impact- 1 npm packages depend on svgo (1 direct, 0 indirect)
Ecosystem-wide dependent count for version 1.0.0.
DescriptionCVE.org
SVGO, short for SVG Optimizer, is a Node.js library and command-line application for optimizing SVG files. From version 1.0.0 until versions 2.8.3, 3.3.4, and 4.0.2, the removeScripts plugin, named removeScriptElement in versions 1 through 3, can leave executable content in optimized SVGs because it does not remove namespaced or prefixed script elements such as <svg:script> and, in versions 3 and 4, matches JavaScript URIs case sensitively. Applications that process untrusted SVG input with this plugin enabled and serve the result can allow scripts to execute when another user opens the SVG, exposing local storage or cookies. This issue is fixed in versions 2.8.3, 3.3.4, and 4.0.2.
Articles & Coverage 1
AnalysisAI
Cross-site scripting in SVGO's script-removal plugin exposes web applications that process untrusted SVG uploads to stored XSS attacks across all major version lines from 1.0.0 through 4.0.1. The removeScripts plugin (called removeScriptElement in v1-3) silently passes through namespace-prefixed script elements such as <svg:script> and performs case-sensitive JavaScript URI matching that attackers trivially bypass with mixed-case variants like JavaScript:. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Three conditions must all be true simultaneously. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The CVSS 8.2 score (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N) is technically accurate for the described impact: stored XSS with scope change (S:C) against a victim's browser origin, with high confidentiality impact (C:H) against cookies and session tokens. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | An attacker submits a crafted SVG to a web application's file upload endpoint containing both a `<svg:script>alert(document.cookie)</svg:script>` element and a hyperlink with `href="JavaScript:exfil()"`, knowing the application processes uploads with SVGO's removeScripts plugin enabled. SVGO optimizes the file but leaves both payloads intact due to the namespace-blindness and case-sensitivity flaws. … |
| Remediation | Upgrade SVGO to the patched releases: v2.8.3 for consumers on the v2 line (https://github.com/svg/svgo/releases/tag/v2.8.3), v3.3.4 for the v3 line (https://github.com/svg/svgo/releases/tag/v3.3.4), or v4.0.2 for the v4 line (https://github.com/svg/svgo/releases/tag/v4.0.2). … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, identify all applications and services using SVGO and document their current versions; disable untrusted SVG upload endpoints if immediate patching is not feasible, and deploy Content Security Policy headers with script-src 'none' to block inline script execution. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-58193
GHSA-2p49-hgcm-8545