Популярная MOBA-игра Dota 2 стала жертвой кибератаки, в ходе которой злоумышленники использовали уязвимость в движке JavaScript V8 для удаленного выполнения вредоносного кода на компьютерах игроков. Эксперты по безопасности из Avast обнаружили четыре пользовательских игровых режима, содержащих эксплойт для уязвимости CVE-2021-38003, которая позволяла злоумышленникам получать контроль над системами ничего не подозревающих игроков.
Описание
Проблема возникла из-за того, что в Dota 2 использовалась устаревшая версия движка V8, скомпилированная еще в декабре 2018 года. Эта версия содержала множество известных уязвимостей, включая CVE-2021-38003, которая ранее активно эксплуатировалась в дикой природе. Поскольку V8 в Dota 2 не был изолирован в песочнице, успешная эксплуатация уязвимости позволяла злоумышленникам выполнять произвольный код на машинах других игроков.
Valve, разработчик Dota 2, оперативно отреагировала на сообщение Avast, выпустив обновление 12 января, в котором уязвимая версия V8 была заменена на актуальную. Кроме того, компания удалила вредоносные игровые режимы, уведомила пострадавших игроков и внедрила дополнительные меры защиты, чтобы снизить риски подобных атак в будущем.
Как работала атака
Dota 2 использует фреймворк Panorama для создания пользовательского интерфейса на основе HTML, CSS и JavaScript. Вредоносные скрипты могли быть внедрены через пользовательские игровые режимы, которые создаются сообществом и доступны для установки прямо из игры. Хотя Valve проводит проверку публикуемых режимов, злоумышленникам удалось обойти защиту, скрыв вредоносный код в легитимных файлах.
Первый обнаруженный вредоносный режим, названный «test addon plz ignore», содержал эксплойт для CVE-2021-38003, который использовал уязвимость в V8 для получения контроля над системой. Интересно, что злоумышленник оставил в коде множество отладочных сообщений и закомментированных фрагментов, что свидетельствует о том, что он тестировал эксплойт перед использованием.
Позже были обнаружены еще три вредоносных режима, созданных тем же автором. В отличие от первого случая, они содержали более скрытный бэкдор, который загружал вредоносный JavaScript с удаленного сервера. Это позволяло злоумышленнику обновлять эксплойт без необходимости публиковать новые версии режима.
Последствия и риски
По данным Valve, атака затронула менее 200 игроков, но потенциальные последствия могли быть гораздо серьезнее. Если бы злоумышленник решил массово распространить эксплойт через популярные игровые режимы или найти XSS-уязвимость в интерфейсе игры, под угрозой оказались бы миллионы пользователей.
Эксперты отмечают, что подобные атаки подчеркивают важность своевременного обновления компонентов с открытым исходным кодом, таких как V8. Кроме того, разработчикам игр стоит задуматься о дополнительной изоляции пользовательского контента, чтобы минимизировать риски эксплуатации уязвимостей.
Вывод
Хотя Valve быстро устранила проблему, этот инцидент служит напоминанием о том, что даже популярные игры с многомиллионной аудиторией могут стать мишенью для киберпреступников. Игрокам рекомендуется быть осторожными при установке пользовательских модов и регулярно обновлять клиент игры, чтобы защититься от возможных угроз.
Индикаторы компрометации
SHA256
- 3c00f15d233a3dd851d68ecb8c7de38b1abf59787643a2159c9d6a7454f9c3b7
- 44c79f185576e1ec7d0d7909eb7d4815cbf8348f37f62c0debd0d5056fb1100b
- 4bb1d6dcb1e12c3e5997b8dc7fa3db45d44bade39cfcceab56f90134ca2d09f3
- 4d3c6986b924108911709b95cb4c379720c323e6f7b3a069b866b76e0e3ec6b5
- 4fad709e74345c39a85ce5a2c7f3b71d755240d27dd46688fa3993298056cf39
- 85635bd92cc59354f48f8c39c6db7a5f93cabfb543e0bcc3ec9e600f228f2569
- 880a0722a5f47d950170c5f66550e1cdef60e4e84c0ce1014e2d6d7ad1b15c14
- cca585b896017bd87038fd34a7f50a1e0f64b6d6767bcde66ea3f98d6dd4bfd0