CVE Vulnerabilities

CVE-2026-29074

Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')

Published: Mar 06, 2026 | Modified: Mar 10, 2026
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
7.5 IMPORTANT
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
root.io logo minimus.io logo echo.ai logo

SVGO, short for SVG Optimizer, is a Node.js library and command-line application for optimizing SVG files. From version 2.1.0 to before version 2.8.1, from version 3.0.0 to before version 3.3.3, and before version 4.0.1, SVGO accepts XML with custom entities, without guards against entity expansion or recursion. This can result in a small XML file (811 bytes) stalling the application and even crashing the Node.js process with JavaScript heap out of memory. This issue has been patched in versions 2.8.1, 3.3.3, and 4.0.1.

Weakness

The product uses XML documents and allows their structure to be defined with a Document Type Definition (DTD), but it does not properly control the number of recursive definitions of entities.

Affected Software

NameVendorStart VersionEnd Version
SvgoSvgo2.1.0 (including)2.8.1 (excluding)
SvgoSvgo3.0.0 (including)3.3.3 (excluding)
SvgoSvgo4.0.0 (including)4.0.1 (excluding)

Potential Mitigations

References