@dicebear/converter vulnerable to ncontrolled memory allocation via crafted SVG dimensions
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-770.
Summary
DiceBear is an avatar library for designers and developers. Prior to version 9.4.0, the `ensureSize()` function in `@dicebear/converter` read the `width` and `height` attributes from the input SVG to determine the output canvas size for rasterization (PNG, JPEG, WebP, AVIF). An attacker who can supply a crafted SVG with extremely large dimensions (e.g. `width="999999999"`) could force the server to allocate excessive memory, leading to denial of service. This primarily affects server-side applications that pass untrusted or user-supplied SVGs to the converter's `toPng()`, `toJpeg()`, `toWebp()`, or `toAvif()` functions. Applications that only convert self-generated DiceBear avatars are not practically exploitable, but are still recommended to upgrade. This is fixed in version 9.4.0. The `ensureSize()` function no longer reads SVG attributes to determine output size. Instead, a new `size` option (default: 512, max: 2048) controls the output dimensions. Invalid values (NaN, negative, zero, Infinity) fall back to the default. If upgrading is not immediately possible, validate and sanitize the `width` and `height` attributes of any untrusted SVG input before passing it to the converter.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| dicebear | dicebear | before 9.4.0 | 9.4.0 | Patch available | CNA |
| — | @dicebear/converter (npm) | before 9.4.0 | 9.4.0 | Patch available | GHSA-v3r3-4qgc-vw66 |
- dicebear Vendordicebear Affected before 9.4.0 Fixed in 9.4.0 Patch available CNA
- @dicebear/converter (npm) Vendor— Affected before 9.4.0 Fixed in 9.4.0 Patch available GHSA-v3r3-4qgc-vw66
Remediation
- Fix · CNA dicebear (dicebear) Fixed in 9.4.0
- Fix · GHSA-v3r3-4qgc-vw66 @dicebear/converter (npm) Fixed in 9.4.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-29112
- 2026-10-03 Alias added: GHSA-v3r3-4qgc-vw66
- 2026-10-25 Priority changed: MEDIUM → LOW
References
Advisory 2
More Dicebear vulnerabilities
- TI-2026-25815 @dicebear/converter ensureSize() Vulnerable to SVG Dimension Capping Bypass via XML Comment Injection CVSS 3.1HIGH 7.5
- TI-2026-25722 @dicebear/core and @dicebear/initials Vulnerable to SVG Injection via Unsanitized Options CVSS 3.1MEDIUM 4.7
Sources
- CVE-2026-29112 · CVE Program
- CVE-2026-29112 · NVD
- FIRST EPSS
- GHSA-v3r3-4qgc-vw66 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences