В начале октября Unity объявила разработчикам игр, что им предстоит большая работа. В популярном игровом движке, используемом и для компьютерных, и для консольных, и для мобильных игр, обнаружилась программная уязвимость, для устранения которой нужно обновить все опубликованные игры. Причем появился дефект восемь лет назад — в версии 2017.01, он затрагивает все современные игры и приложения на платформах Android, Linux, MacOS, Windows.
На анонс отреагировали не только разработчики. Valve объявила, что заблокирует в Steam запуск игр с небезопасными параметрами, а Microsoft пошла дальше, и порекомендовала временно удалить уязвимые игры до их обновления.
Чем грозит уязвимость, и как устранить ее, не удаляя игры?
Как работает уязвимость Unity
Эксплуатация ошибки с официальным идентификатором CVE-2025-59489 приводит к тому, что игра запускает посторонний код или предоставляет атакующему доступ к информации на устройстве. Происходит это во время запуска игры. Злоумышленник может передать игре параметры запуска, и уязвимые версии Unity Runtime обработают среди прочих несколько команд, предназначенных для отладки: -xrsdk-pre-init-library, -dataFolder , overrideMonoSearchPath, -monoProfiler. По этим командам движок Unity загружает любые указанные в параметрах запуска библиотеки функций, включая посторонние. На Windows загружаются dll-файлы, на Android и Linux – библиотеки .so, на MacOS – .dylib.
Таким образом, приложение с низкими привилегиями может запустить игру, и уже от имени игры загрузить и запустить вредоносную библиотеку. Последняя получит такие же права и доступы, как сама игра.
Еще одна разновидность атаки с использованием этой уязвимости может проводиться даже дистанционно. Если игра умеет запускаться при нажатии на определенные гиперссылки в браузере (зарегистрирована как обработчик URI schema), то зловредный сайт может сначала убедить пользователя загрузить файл вредоносной библиотеки, а затем с помощью ссылки, запускающей уязвимую игру, заодно запустить и эту библиотеку.
Опасность эксплуатации уязвимости во многом зависит от настроек игры, версии и настроек ОС, но Unity, Valve и Microsoft в один голос рекомендуют обновить все игры в системе.
Чем опасна уязвимость в игре?
Эксплуатация этой уязвимости служит для повышения привилегий и обхода средств защиты. Неизвестное приложение в современных ОС чаще всего изолировано от других и лишено прав доступа к полезной информации. Но запускать уже имеющиеся в системе приложения он все же может. Дальше игра запускает по полученной команде вредоносную библиотеку – и эта библиотека уже считается частью игры. Она имеет те же права и доступы, что и сама игра, а также может проскочить «под радаром» некоторых антивирусов. Игры порой требуют относительно высоких привилегий в системе, поэтому для атакующего это дорога если не в администраторы устройства, то как минимум в «уважаемые пользователи».
Используется ли эта уязвимость в реальных атаках?
Unity подчеркивает, что дефект обнаружен этичными хакерами и на сегодня нет никаких свидетельств того, что уязвимость применяется в реальных атаках. Но, с учетом широкой огласки проблемы и простоты эксплуатации, любой желающий злоумышленник может вооружиться CVE-2025-59489 буквально за пару дней. Поэтому принять меры предосторожности будет не лишним.
Как устранить уязвимость
Основную работу должны провести разработчики игр. Обновив Unity Editor, они должны заново скомпилировать игру с исправленной версией Unity Runtime и опубликовать ее на сайте или магазинах приложений. Пользователям нужно отслеживать обновления своих игр, сделанных на базе Unity, и оперативно их обновлять.
Valve обновила клиент Steam и заблокировала уязвимость для тех игр, которые запускаются через клиент. Клиент блокирует запуск игр с упомянутыми выше опасными параметрами.
Microsoft подтверждает, что уязвимость не затрагивает версии игр для Xbox, зато приводит обширный список уязвимых игр, доступных в ее магазинах приложений для других платформ. До устранения уязвимостей в конкретных играх Microsoft рекомендует их деинсталлировать.
Кроме обновления игр, убедитесь, что компьютеры и смартфоны защищены комплексной системой предотвращения киберугроз, такой как Kaspersky Premium. Она не только предотвращает эксплуатацию многих уязвимостей, но и не допускает запуска вредоносного ПО первого этапа.
Как устранить уязвимость, если игра уже не обновляется
Для разработчиков, которые не имеют доступа к редактору Unity или не уже поддерживают игру, Unity предлагает приложение Unity Application Patcher. Оно определяет, какая версия Unity используется в игре и загружает обновленную библиотеку (libunity.so для Android, UnityPlayer.dll для Windows, UnityPlayer.dylib для MacOS), устраняя дефект. Пропатченную игру все равно нужно заново публиковать на сайте или в магазинах приложений.
Пользователям игр может быть полезен для самостоятельного применения только версия патчера для Windows, поскольку изменить компонент игры для MacOS и Android, сохранив при этом работоспособность игры, очень проблематично.