NiceGUI — это платформа пользовательского интерфейса на основе Python. Начиная с версий 2.13.0 до 3.4.1, в NiceGUI существует риск XSS, когда разработчики передают строки, контролируемые злоумышленником, в ui.navigate.history.push() или ui.navigate.history.replace(). Эти помощники документированы как оболочки History API для обновления URL-адреса браузера без перезагрузки страницы.
Однако если аргумент URL-адреса встроен в сгенерированный JavaScript без надлежащего экранирования, созданная полезная нагрузка может выйти за пределы предполагаемого строкового контекста и выполнить произвольный JavaScript в браузере жертвы. Приложения, которые не передают ненадежные данные в ui.navigate.history.push/replace, не затрагиваются. Эта проблема исправлена в версии 3.5.0.
Показать оригинальное описание (EN)
NiceGUI is a Python-based UI framework. From versions 2.13.0 to 3.4.1, there is a XSS risk in NiceGUI when developers pass attacker-controlled strings into ui.navigate.history.push() or ui.navigate.history.replace(). These helpers are documented as History API wrappers for updating the browser URL without page reload. However, if the URL argument is embedded into generated JavaScript without proper escaping, a crafted payload can break out of the intended string context and execute arbitrary JavaScript in the victim’s browser. Applications that do not pass untrusted input into ui.navigate.history.push/replace are not affected. This issue has been patched in version 3.5.0.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Zauberzeug Nicegui
cpe:2.3:a:zauberzeug:nicegui:*:*:*:*:*:*:*:*
|
2.13.0
|
3.5.0
|