Вечером накануне патча разработчикам Unturned сообщили о возможности удалённого выполнения кода (RCE) через мод из мастерской, размещённый на вредоносном сервере. Реакция была быстрой и жёсткой: все интернет-листинги серверов временно выключили как меру предосторожности, пока готовилась и выкладывалась заплатка. По оценке команды, реально пострадал лишь один небольшой сервер.
Патч 3.26.3.5 закрыл саму уязвимость, а следом вышел 3.26.3.6 — он правит ошибку, возникавшую при проверке событий у компонента без скрипта, и заставляет игру игнорировать ненастроенные события.
В чём была уязвимость
Проблема — в компонентах с UnityEvents, привязанными к статическим методам. Через такую связку можно было вызвать методы, к которым мод-контент доступа иметь не должен, включая открытие внешних ссылок средствами движка (по умолчанию игра фильтрует сторонние URL). Теперь загрузка компонентов с событиями, ведущими на статические методы, попросту запрещена.
Находку сообщил celeb, рабочий пример воспроизведения собрал Jdance, а Daniel Willett прогнал проверку загрузок мастерской за последний месяц и подтвердил, что больше нигде эксплойт не применялся. Изначальный отчёт пришёл через сообществный Discord.
Побочный эффект: пропавший контент
После фикса часть модов начала ругаться на «missing Item GameObject» и похожие ошибки, из-за чего отдельные кастомные предметы и объекты перестали появляться на картах и серверах. Причина не в злом умысле: в разобранных случаях событие ссылалось на объект, которого больше нет — например, событие настроено на запуск системы частиц, а сама система из мода удалена, ссылку никто не поправил.
На уровне кода такая «висячая» ссылка неотличима от попытки эксплуатации дыры, поэтому она блокируется вместе с реальными атаками. Лечится это только обновлением со стороны автора мода. Модмейкерам разработчики советуют смотреть лог ошибок: прямо над предупреждением о пропавшем GameObject указан конкретный компонент и событие, из-за которых всё падает.
Почему это не рядовой хотфикс
Отключение списка серверов — крайняя мера, к которой прибегают редко, и команда прямо называет её предосторожностью на время подготовки патча. Ущерб при этом оценили как ограниченный одним небольшим сервером. Для Unturned, где мастерская фактически определяет лицо большинства серверов, ужесточение правил загрузки контента — логичный шаг, но он неизбежно ломает часть старых сборок.
Что это значит для игроков с софтом
Сам патч не про античит и не про борьбу с читерами: правки касаются валидации мод-контента. Тем не менее любое обновление клиента Unturned, даже мелкое, пересобирает бинарник и сдвигает адреса, на которые опирается внешний софт. Здесь версий сразу две — 3.26.3.5 и вышедший следом 3.26.3.6, то есть два потенциальных сдвига оффсетов, поэтому:
- Не заходите на сервер сразу после апдейта. Сначала проверьте статусы обновлений софта — если инструмент помечен как «на обновлении», запуск даст либо краш, либо ESP, рисующий боксы в пустоту.
- Отключите автообновление Steam для Unturned, если играете с внешними инструментами. Ситуация, когда клиент обновился до 3.26.3.6, а лоадер рассчитан на 3.26.3.5, — самый частый источник «внезапно перестало работать».
- Учитывайте изменившийся мод-контент. Если на сервере пропали кастомные предметы и объекты, меняется и картина, которую видит ESP: часть лута и укрытий физически отсутствует, а не «не отображается».
- Помните про источник угрозы. RCE пришёл не от читеров, а из мода на вредоносном сервере — это напоминание, что риск для аккаунта и системы создают в первую очередь сомнительные серверы и сборки, а не факт использования сторонних инструментов. Отдельный аккаунт под такие сессии и аккуратность с HWID лишними не будут.
Подобрать актуальную сборку под текущую версию игры можно на странице Unturned — там же видно, какие функции уже проверены после патча.
Доминируй в Unturned с нашими программами
Проверенные читы и софт — обновления в течение 12–48 часов после крупных патчей, гарантия и поддержка 24/7.