Description
DiceBear is an avatar library for designers and developers. Prior to version 9.4.2, the `ensureSize()` function in `@dicebear/converter` used a regex-based approach to rewrite SVG `width`/`height` attributes, capping them at 2048px to prevent denial of service. This size capping could be bypassed by crafting SVG input that causes the regex to match a non-functional occurrence of `<svg` before the actual SVG root element. When the SVG is subsequently rendered via `@resvg/resvg-js` on the Node.js code path, it renders at the attacker-specified dimensions, potentially causing out-of-memory crashes. In version 9.4.2, the regex-based approach has been replaced with XML-aware processing using `fast-xml-parser` to correctly identify and modify the SVG root element's attributes. Additionally, a `fitTo` constraint has been added to the `renderAsync` call as defense-in-depth, ensuring the rendered output is always bounded regardless of SVG content.
Published: 2026-03-24
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The vulnerability resides in the ensureSize() function of @dicebear/converter. Prior to version 9.4.2 the function used a regular‑expression to cap width and height attributes at 2048 pixels. Attackers can inject XML comments that cause the expr to misidentify the root &lt;svg&gt; element, allowing the SVG to be rendered with attacker‑specified large dimensions by @resvg/resvg-js. This can exhaust memory and crash the Node.js process, resulting in a denial‑of‑service condition. The weakness maps to CWE‑185.

Affected Systems

Vulnerable when applications use the DiceBear avatar library version earlier than 9.4.2. The issue affects Node.js projects that import @dicebear/converter and render SVGs through @resvg/resvg-js. All systems that rely on DiceBear to generate avatars, such as web front‑ends, APIs, or micro‑services, are potentially impacted if they use an affected library version.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity of service disruption. EPSS data is unavailable, but the vulnerability is not listed in CISA KEV, suggesting no widespread observed exploitation at this time. Likely attack vector involves supplying specially crafted SVG content to a vulnerable application. Because the flaw is within a library, exploitation requires the attacker to deliver malicious SVG data to an application that processes it, which may occur through user‑supplied avatar images or internal rendering calls. Once triggered, the exploit can cause an out‑of‑memory crash, disabling the affected service until the process restarts.

Generated by OpenCVE AI on March 24, 2026 at 20:28 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade dicebear to version 9.4.2 or later.
  • Verify that the application uses the updated library.
  • If an upgrade is not immediately possible, implement input validation to restrict SVG dimensions.
  • Monitor the application for out‑of‑memory crashes and log errors.

Generated by OpenCVE AI on March 24, 2026 at 20:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-7j2x-32w6-p43p SVG Dimension Capping Bypass via XML Comment Injection in @dicebear/converter ensureSize()
History

Tue, 24 Mar 2026 19:30:00 +0000

Type Values Removed Values Added
First Time appeared Dicebear
Dicebear dicebear
CPEs cpe:2.3:a:dicebear:dicebear:*:*:*:*:*:*:*:*
Vendors & Products Dicebear
Dicebear dicebear

Tue, 24 Mar 2026 16:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 24 Mar 2026 13:45:00 +0000

Type Values Removed Values Added
Description DiceBear is an avatar library for designers and developers. Prior to version 9.4.2, the `ensureSize()` function in `@dicebear/converter` used a regex-based approach to rewrite SVG `width`/`height` attributes, capping them at 2048px to prevent denial of service. This size capping could be bypassed by crafting SVG input that causes the regex to match a non-functional occurrence of `<svg` before the actual SVG root element. When the SVG is subsequently rendered via `@resvg/resvg-js` on the Node.js code path, it renders at the attacker-specified dimensions, potentially causing out-of-memory crashes. In version 9.4.2, the regex-based approach has been replaced with XML-aware processing using `fast-xml-parser` to correctly identify and modify the SVG root element's attributes. Additionally, a `fitTo` constraint has been added to the `renderAsync` call as defense-in-depth, ensuring the rendered output is always bounded regardless of SVG content.
Title @dicebear/converter ensureSize() Vulnerable to SVG Dimension Capping Bypass via XML Comment Injection
Weaknesses CWE-185
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Dicebear Dicebear
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-24T15:11:51.489Z

Reserved: 2026-03-19T18:45:22.431Z

Link: CVE-2026-33418

cve-icon Vulnrichment

Updated: 2026-03-24T14:10:35.938Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-24T14:16:30.453

Modified: 2026-03-24T19:19:48.480

Link: CVE-2026-33418

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-25T20:50:13Z

Weaknesses