Уязвимость в игровом движке Unity

Любая игра, сделанная за последние 8 лет на базе популярного движка Unity, может открыть злоумышленникам дорогу на ваш компьютер или смартфон. Разбираемся, что с этим делать.

Уязвимость CVE-2025-59489 в Unity и как устранить ее в играх

В начале октября 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, сохранив при этом работоспособность игры, очень проблематично.

Советы

Как отключить слежку в iOS?

У вас есть iPhone, iPad или iPod? Потратьте несколько минут на настройку служб геолокации, чтобы сэкономить заряд батареи и сохранить конфиденциальность перемещений.