# CVE-2026-84369: SVGO removeScripts incomplete sanitization in foreignObject

Source: https://junglewise.ai/threats/cve-2026-84369-svgo-removescripts-incomplete-html-sanitization-in-foreignobject  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-01. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-84369 · Severity: medium · CVSS 6.1 · Published 2026-09-01

SVGO is a popular SVG optimizer library used by developers to process and minimize SVG files. The removeScripts plugin is supposed to strip executable code from user-supplied SVGs to prevent cross-site scripting (XSS) attacks. However, the plugin failed to sanitize executable HTML hidden inside SVG foreignObject elements, allowing attackers to embed malicious event handlers, iframe payloads, and executable URLs that would execute in the viewer's browser and steal cookies, modify content, or perform unauthorized actions.

Technologies: [Svgo](https://junglewise.ai/threats/technologies/svgo). Vendors: [Svgo](https://junglewise.ai/threats/vendors/svgo).

## Quick answers

**Is CVE-2026-84369 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-84369 being exploited in the wild.

**How severe is CVE-2026-84369?** Medium severity, with a CVSS score of 6.1, published 1 September 2026.

**Which products and versions are affected?** Svgo >= 1.0.0, < 2.8.4; >= 3.0.0, < 3.3.5; >= 4.0.0, < 4.1.0, 1.0.0 to <2.8.4; 3.0.0 to <3.3.5; 4.0.0 to <4.1.0.

**Is there a fix for CVE-2026-84369?** A patch was published on 2026: Patches released: v2.8.4, v3.3.5, v4.1.0 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-84369 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-84369?** Check whether you run Svgo at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

This vulnerability is a cross-site scripting (CWE-79) flaw in SVGO's removeScripts plugin. The plugin was designed to remove script execution vectors from SVG files but failed to sanitize executable HTML markup nested within SVG foreignObject elements—a legitimate SVG feature for embedding foreign XML and HTML content. An attacker could craft an SVG containing multiple attack vectors inside foreignObject: event-handler attributes (onload, onbeforetoggle), srcdoc attributes on iframe elements, or executable URLs in action, data, formaction, href, and src attributes. When an application optimizes untrusted SVG with removeScripts and serves the result in an active browser context, these payloads execute with the privileges of the origin, potentially exfiltrating session tokens or local storage. The plugin is opt-in and does not affect default SVGO behavior or local optimization of trusted files. Patches are available in SVGO v2.8.4, v3.3.5, and v4.1.0, which remove event attributes and srcdoc while preserving legitimate visual HTML.

## Affected products

- svg svgo >= 1.0.0, < 2.8.4; >= 3.0.0, < 3.3.5; >= 4.0.0, < 4.1.0

## Identifiers

- CVE-2026-84369
- GHSA-4vpr-x523-8j87

## Timeline

- 2026-08-24: disclosed: Published by GitHub Advisory Database
- 2026-09-08: advisory: Advisory published
- 2026: patched: Patches released: v2.8.4, v3.3.5, v4.1.0

## References

- [https://api.github.com/users/Alopsis](https://api.github.com/users/Alopsis)
- [https://github.com/Alopsis](https://github.com/Alopsis)
- [https://api.github.com/users/Alopsis/gists%7B/gist_id%7D](https://api.github.com/users/Alopsis/gists%7B/gist_id%7D)
- [https://api.github.com/users/Alopsis/repos](https://api.github.com/users/Alopsis/repos)
- [https://avatars.githubusercontent.com/u/105967355?v=4](https://avatars.githubusercontent.com/u/105967355?v=4)
- [https://api.github.com/users/Alopsis/events%7B/privacy%7D](https://api.github.com/users/Alopsis/events%7B/privacy%7D)
