~ / search / GHSA-mr9r-mww3-v6gv

GHSA-mr9r-mww3-v6gv

SVG Injection via Unsanitized Options in @dicebear/core and @dicebear/initials

Source: GitHub Advisory Database (reviewed) Moderate CVE-2026-33311

Packages

EcosystemPackageAffectedFixed in
npm @dicebear/core >= 5.0.0, < 5.4.4 5.4.4
npm @dicebear/core >= 6.0.0, < 6.1.4 6.1.4
npm @dicebear/core >= 7.0.0, < 7.1.4 7.1.4
npm @dicebear/core >= 8.0.0, < 8.0.3 8.0.3
npm @dicebear/core >= 9.0.0, < 9.4.1 9.4.1
npm @dicebear/initials >= 5.0.0, < 5.4.4 5.4.4
npm @dicebear/initials >= 6.0.0, < 6.1.4 6.1.4
npm @dicebear/initials >= 7.0.0, < 7.1.4 7.1.4
npm @dicebear/initials >= 8.0.0, < 8.0.3 8.0.3
npm @dicebear/initials >= 9.0.0, < 9.4.1 9.4.1

Details

As written in the advisory (Markdown source, shown as plain text).

## Summary SVG attribute values derived from user-supplied options (`backgroundColor`, `fontFamily`, `textColor`) were not XML-escaped before interpolation into SVG output. This could allow Cross-Site Scripting (XSS) when applications pass untrusted input to `createAvatar()` and serve the resulting SVG inline or with `Content-Type: image/svg+xml`. ## Affected packages - **`@dicebear/core`** — `backgroundColor` option values interpolated into SVG attributes without escaping (affects `solid` and `gradientLinear` background types) - **`@dicebear/initials`** — `fontFamily` and `textColor` option values interpolated into SVG attributes without escaping ## Fix All affected SVG attribute values are now properly escaped using XML entity encoding. Users should upgrade to the listed patched versions. ## Mitigating factors - Applications that validate input against the library's JSON Schema before passing it to `createAvatar()` are not affected - The DiceBear CLI validates input via AJV and was not vulnerable - Exploitation requires that an application passes untrusted, unvalidated external input directly as option values

References

External links from the advisory. They lead to third-party sites.