CVE-2026-84370: svg svgo Cross-site Scripting
Vulnerability summary
CVE-2026-84370 is a high (CVSS 8.2) Cross-site Scripting vulnerability in svg svgo. EPSS estimates a 0.53% chance of exploitation in the next 30 days, higher than 43.6% of scored vulnerabilities.
Advisory lineage
Upstream 0 · Downstream 1 · Related 1Timeline
- 01-09-2026PublishedVulnerability first disclosed.
- 04-09-2026Last modifiedVulnerability information updated.
Description
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.4, 3.3.5, and 4.1.0, the opt-in removeScripts plugin, named removeScriptElement in versions 2 and 3, incompletely filters executable links in plugins/removeScripts.js and lib/svgo/tools.js. The plugin does not recognize namespace-prefixed SVG anchor elements such as svg:a with href or namespaced *:href values, and it does not remove ASCII tab, line-feed, or carriage-return characters before checking URL schemes. Browsers remove those characters before parsing a scheme, allowing an executable link to pass the plugin's check. When an application processes attacker-controlled SVG input and serves the result in an active browser context, a victim who activates the surviving link can execute script in the SVG's origin, expose data, modify content, or perform actions as the victim. This issue is fixed in versions 2.8.4, 3.3.5, and 4.1.0.
CVSS metrics
5 scores · 5 sources · 1 version- OSV · NpmEcosystem advisory · calculated8.2HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
- OSV · ChainguardEcosystem advisory · calculated8.2HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
- NVDNIST8.2HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
- OSV · DebianEcosystem advisory · calculated8.2HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
EPSS trend
Probability
0.53%
Chance of exploitation in the next 30 days
Percentile
44%
Versus all other CVEs
30-day change
+0.19 pp
From 0.34% on 21-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-79Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
- CWE-184Incomplete List of Disallowed InputsThe product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are not allowed by policy or otherwise require other action to neutralize before additional processing takes place, but the list is incomplete.
Affected systems
Chainguard4 products
- airflow-2All versions (No fix recorded)
- airflow-core-2All versions (No fix recorded)
- arangodb-3.11< 3.11.14.5-r24
- arangodb-3.12< 3.12.11-r1
Debian1 product
- node-svgo< 3.3.5+ds-1
Npm1 product
- svgo≥ 1.0.0, < 2.8.4 | ≥ 3.0.0, < 3.3.5 | ≥ 4.0.0, < 4.1.0
Svg1 product
- svgo≥ 1.0.0, < 2.8.4 | ≥ 3.0.0, < 3.3.5 | ≥ 4.0.0, < 4.1.0
4 vendors · 7 products
References
14 linksShow all 14 references
- github.com/svg/svgoPACKAGE