CyberSecBulletin
CVE-2026-29074NVD status: Modified

svgo: Improper Restriction of Recursive Entity References in DTDs

CVE-2026-29074 is a high-severity improper restriction of recursive entity references in dtds vulnerability in svgo from Svg, with a CVSS 3.1 base score of 7.5 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected svgo versions: >= 2.1.0, < 2.8.1; >= 3.0.0, < 3.3.3; = 4.0.0. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 0.7% chance of exploitation within 30 days, higher than 54% of scored CVEs.

Next patch cycle

High severity with no evidence of exploitation so far.

What to do

  1. Check which version of svgo you run against the affected versions below, and install the vendor's latest release.
  2. Read the advisory on github.com for workarounds and exact fixed builds.
  3. Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.

Affected products and versions

VendorProductAffected versionsFixed in
Svgsvgo>= 2.1.0, < 2.8.1; >= 3.0.0, < 3.3.3; = 4.0.0Not stated
Red HatRed Hat Ansible Automation Platform 2.5 for RHEL 8Not specified in the recordNot stated
Red HatRed Hat Ansible Automation Platform 2.5 for RHEL 9Not specified in the recordNot stated
Red HatRed Hat Ansible Automation Platform 2.6 for RHEL 9Not specified in the recordNot stated
Red HatRed Hat Advanced Cluster Security 4.8Not specified in the recordNot stated
Red HatRed Hat Ansible Automation Platform 2.5Not specified in the recordNot stated
Red HatRed Hat Ansible Automation Platform 2.6Not specified in the recordNot stated
Red HatRed Hat Developer Hub 1.8Not specified in the recordNot stated
Red HatRed Hat Developer Hub 1.9Not specified in the recordNot stated
Red HatRed Hat OpenShift AI 2.16Not specified in the recordNot stated
Red HatRed Hat OpenShift AI 2.25Not specified in the recordNot stated
Red HatRed Hat OpenShift AI 3.3Not specified in the recordNot stated
Red HatRed Hat OpenShift Dev Spaces 3.28Not specified in the recordNot stated
Red HatRed Hat OpenShift Service Mesh 2.6Not specified in the recordNot stated
Red HatRed Hat OpenShift Service Mesh 3.0Not specified in the recordNot stated
Red HatRed Hat OpenShift Service Mesh 3.1Not specified in the recordNot stated
Red HatRed Hat OpenShift Service Mesh 3.2Not specified in the recordNot stated
Red HatRed Hat OpenShift Service Mesh 3.3Not specified in the recordNot stated
Red HatRed Hat Quay 3.10Not specified in the recordNot stated
Red HatRed Hat Quay 3.12Not specified in the recordNot stated
Red HatRed Hat Quay 3.14Not specified in the recordNot stated
Red HatRed Hat Quay 3.15Not specified in the recordNot stated
Red HatRed Hat Quay 3.16Not specified in the recordNot stated
Red HatRed Hat Quay 3.17Not specified in the recordNot stated
Red HatRed Hat Quay 3.18Not specified in the recordNot stated

Version data comes from the organisation that assigned the CVE; 23 further products are omitted here. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Attack vector
NetworkCan be exploited remotely over a network, including the internet.
Attack complexity
LowNo special conditions are needed; the attack works reliably.
Privileges required
NoneNo account or login is needed.
User interaction
NoneNo action by a victim is required.
Scope
UnchangedImpact stays within the vulnerable component.
Confidentiality
NoneNo data is disclosed.
Integrity
NoneNothing can be modified.
Availability
HighThe component can be taken down completely.

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Scored by CNA (github.com).

Scoring systemScoreSeverityScored by
CVSS 3.17.5HighCNA (github.com)
CVSS 3.17.5HighCNA

Official description

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.

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Improper Restriction of Recursive Entity References in DTDs

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.

How developers prevent this class of flaw

  • If possible, prohibit the use of DTDs or use an XML parser that limits the expansion of recursive DTD entities.
  • Before parsing XML files with associated DTDs, scan for recursive entity declarations and do not continue parsing potentially explosive content.

More Improper Restriction of Recursive Entity References in DTDs vulnerabilities (CWE-776)

Timeline

  1. CVE record published.
  2. CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: partial).
  3. Record last changed materially (score, affected products, status or references).

References

Other vulnerabilities in svgo

All svgo vulnerabilities

Recent Improper Restriction of Recursive Entity References in DTDs vulnerabilities

Spotted an error? Tell us.