DiceBear — это библиотека аватаров для дизайнеров и разработчиков. Начиная с версии 5.0.0 и до версий 5.4.4, 6.1.4, 7.1.4, 8.0.3 и 9.4.1, значения атрибутов SVG, полученные из заданных пользователем параметров (`backgroundColor`, `fontFamily`, `textColor`), не экранировались XML перед интерполяцией в выходные данные SVG. Это может позволить использовать межсайтовый скриптинг (XSS), когда приложения передают ненадежные входные данные в `createAvatar()` и обрабатывают полученный SVG встроенным или с `Content-Type: image/svg+xml`.
Начиная с версий 5.4.4, 6.1.4, 7.1.4, 8.0.3 и 9.4.1, все затронутые значения атрибутов SVG корректно экранируются с использованием кодировки объектов XML. Пользователям следует выполнить обновление до перечисленных исправленных версий. Некоторые смягчающие факторы ограничивают уязвимость.
Приложения, которые проверяют входные данные по схеме JSON библиотеки перед их передачей в createAvatar(), не затрагиваются. Интерфейс командной строки DiceBear проверяет вводимые данные через AJV и не является уязвимым. Для эксплуатации требуется, чтобы приложение передавало ненадежные и непроверенные внешние входные данные непосредственно в качестве значений параметров.
Показать оригинальное описание (EN)
DiceBear is an avatar library for designers and developers. Starting in version 5.0.0 and prior to versions 5.4.4, 6.1.4, 7.1.4, 8.0.3, and 9.4.1, 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`. Starting in versions 5.4.4, 6.1.4, 7.1.4, 8.0.3, and 9.4.1, all affected SVG attribute values are properly escaped using XML entity encoding. Users should upgrade to the listed patched versions. Some mitigating factors limit vulnerability. 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.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 5
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Dicebear Dicebear
cpe:2.3:a:dicebear:dicebear:*:*:*:*:*:*:*:*
|
5.0.0
|
5.4.4
|
|
Dicebear Dicebear
cpe:2.3:a:dicebear:dicebear:*:*:*:*:*:*:*:*
|
6.0.0
|
6.1.4
|
|
Dicebear Dicebear
cpe:2.3:a:dicebear:dicebear:*:*:*:*:*:*:*:*
|
7.0.0
|
7.1.4
|
|
Dicebear Dicebear
cpe:2.3:a:dicebear:dicebear:*:*:*:*:*:*:*:*
|
8.0.0
|
8.0.3
|
|
Dicebear Dicebear
cpe:2.3:a:dicebear:dicebear:*:*:*:*:*:*:*:*
|
9.0.0
|
9.4.1
|