Компания Valve устранила проблему HTML-инъекций в CS2. Ошибка уже активно применялась для внедрения в игру изображений, которые могли использоваться для определения IP-адресов других игроков.

Изначально эта уязвимость считалась более серьезной XSS-проблемой, которая позволяет выполнять JavaScript-код в клиенте. Однако анализ показал, что это баг представляет собой лишь HTML-инъекцию, позволяющий внедрять в игру изображения.

Дело в том, что в Counter-Strike 2 применяется Panorama UI от Valve, который использует CSS, HTML и JavaScript в своей работе. Это позволяет настраивать поля ввода таким образом, чтобы они принимали HTML и не преобразовывали его. То есть, если поле поддерживает HTML, то любой введенный в него текст будет рендерится как HTML.

В итоге пользователи Counter-Strike стали сообщать о том, что некоторые злоупотребляют проблемой HTML-инъекций для внедрения изображений в панель голосования, предназначенную для исключения игроков из игры.

Хотя в основном уязвимость использовалась ради безобидного развлечения, нашлись те, кто начал применять баг для раскрытия IP-адресов других игроков, участвующих в матче. Это осуществлялось с помощью тега <img> для удаленного скрипта-логгера IP-адресов, который фиксировал IP всех игроков, которые видели голосование.

Голосование с внедренным изображением

В итоге полученные IP-адреса могли использоваться, например, для запуска DDoS-атак на игроков, чтобы вынудить их отключиться от матча.

Разработчики Valve выпустили небольшой патч размером 7 МБ, который устраняет проблему: теперь любой введенный HTML преобразуется в обычную строку. Так, после установки этого исправления HTML-код будет отображаться в виде обычной строки, как показано скриншоте ниже.

HTML-инъекции уже не работают

Стоит отметить, что аналогичный баг в Panorama UI Counter-Strike: Global Offensive был устранен в 2019 году. Тогда уязвимость так же позволяла внедрять HTML в голосования. Однако в этом случае ошибку можно было использовать и для запуска JavaScript, что делало ее полноценной XSS-уязвимостью, которая могла использоваться для удаленного выполнения команд.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии