
CVE-2018-8108
В ходе тестирования безопасности случайно обнаружена проблема. bui - это фронтенд-фреймворк, который многие компании используют для создания своих интерфейсов.
Обычно метод предотвращения XSS заключается в том, чтобы обрабатывать пользовательский ввод по принципу недоверия, экранировать его при выводе и передавать на фронтенд для отображения. Однако компонент select в bui при отображении этого вывода снова экранирует уже экранированный пользовательский ввод, что позволяет XSS-пэйлоаду обойти существующий механизм безопасности и выполниться.
Пример во вложении взят из реального случая.
Видно, что данные в теге input с id "workGroupList" уже были экранированы. При использовании компонента select через BUI.use вызываются данные из "workGroupList", что напрямую запускает выполнение введённого нами XSS-пэйлоада.
Можно попробовать запустить и проверить.