Katalog CVE

CVE-2026-29112

Wysokie
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Biblioteka DiceBear do tworzenia awatarów miała podatność w funkcji `ensureSize()` przed wersją 9.4.0, która odczytywała atrybuty `width` i `height` z wejściowego SVG. Atakujący mógł dostarczyć spreparowane SVG z ekstremalnie dużymi wymiarami, co prowadziło do nadmiernego przydzielania pamięci i w rezultacie do odmowy usługi.

Ocena ryzyka

Podatność ta może prowadzić do poważnych problemów z dostępnością aplikacji serwerowych, które przetwarzają niezaufane lub dostarczone przez użytkowników SVG. Aplikacje, które konwertują jedynie własnoręcznie generowane awatary, są mniej narażone, ale nadal powinny zaktualizować bibliotekę.

Rekomendacja

Zaleca się aktualizację do wersji 9.4.0, w której wprowadzono zmiany w funkcji `ensureSize()`, eliminując odczyt atrybutów SVG do określenia rozmiaru wyjściowego. Nowa opcja `size` kontroluje wymiary wyjściowe, co zwiększa bezpieczeństwo aplikacji.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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, zer

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS