Символические ссылки — новый 0Day. 700 серверов Gogs взломаны в ходе массовой атаки

leer en español

8910
Символические ссылки — новый 0Day. 700 серверов Gogs взломаны в ходе массовой атаки

Новый баг нулевого дня в Gogs позволяет обычному пользователю превратиться в удалённого админа сервера — и этим уже вовсю пользуются злоумышленники.

image

Злоумышленники эксплуатируют новую уязвимость нулевого дня в Gogs — популярном self-hosted Git-сервисе, — причём исправления от разработчиков пока нет. По данным Wiz, в ходе текущей кампании уже скомпрометировано более 700 инстансов, а атакующий код всё ещё активно используется.

Специалисты утверждают, что наткнулись на проблему случайно: в июле они разбирали заражённую машину и заметили странные попытки эксплуатации Gogs. В процессе анализа стало ясно, что злоумышленник использует ранее неизвестный баг для взлома инстансов. О находке сообщили мейнтейнерам Gogs, которые сейчас работают над патчем, однако атаки продолжаются.

Уязвимость получила идентификатор CVE-2025-8110. Под удар попадают серверы Gogs версии 0.13.3 и ниже, если они доступны из интернета и при этом включена открытая регистрация новых пользователей — а это значение используется по умолчанию. Фактически речь идёт об обходе предыдущего патча для уязвимости CVE-2024-55947, позволявшей аутентифицированному пользователю перезаписывать файлы за пределами репозитория и тем самым добиваться удалённого выполнения кода. Первую проблему обнаружил исследователь Manasseh Zhou, но, как выяснилось, защиту реализовали не до конца.

Главная недоработка, по словам Wiz, в том, что при исправлении прошлой уязвимости не учли символические ссылки. Gogs написан на Go и позволяет разворачивать собственные Git-репозитории на своём сервере или в облаке, вместо использования GitHub или другого провайдера. Как сам Git, так и Gogs поддерживают символические ссылки (symlink) — по сути, «ярлыки» на другой файл или каталог, причём ссылка может указывать и на объект вне репозитория. При этом API Gogs даёт возможность менять файлы в обход обычного Git-протокола.

Именно комбинация этих механизмов и привела к новой дыре. По оценке Wiz, эксплуатация сводится к нескольким простым шагам, доступным любому пользователю, который может создавать репозитории — а такая возможность включена по умолчанию. Сначала атакующий создаёт обычный Git-репозиторий и коммитит в него символическую ссылку, указывающую на «чувствительный» файл за пределами репозитория. Затем через API PutContents он записывает данные в этот symlink: система следует по ссылке и перезаписывает целевой файл вне репозитория. Если таким образом изменить файл .git/config (в частности, параметр sshCommand), можно заставить систему выполнять произвольные команды при работе с репозиторием — то есть добиться удалённого выполнения кода на сервере.

Всего в интернете обнаружено около 1400 открытых инстансов Gogs. Wiz утверждает, что более 700 из них уже были заражены в рамках этой кампании. У всех скомпрометированных серверов наблюдается одинаковый паттерн: 8-символьное случайное имя владельца и репозитория, созданное 10 июля, и полезная нагрузка, использующая фреймворк удалённого управления Supershell.

Кто именно стоит за атаками, пока неясно. Исследователи прямой атрибуции не дают, но отмечают, что Supershell ранее замечали в кампаниях, связанных с азиатскими группировками. В частности, компания Mandiant в прошлом году описывала, как китайские шпионские группы эксплуатировали критическую уязвимость в оборудовании F5 с помощью Supershell и затем продавали доступ к взломанным сетям — среди жертв были оборонные организации США, госструктуры Великобритании и сотни других компаний.

В текущей серии атак цели злоумышленников пока остаются туманными. По словам Wiz, в тех средах, где исследователи видели заражение, вредонос быстро удаляли, поэтому зафиксировать дальнейшие действия атакующих не удалось. О других скомпрометированных серверах им известно лишь то, что они факт заражения подтверждают по индикаторам.

До появления исправления Wiz рекомендует администраторам Gogs сразу же предпринять меры защиты. В первую очередь стоит отключить открытую регистрацию, если она не является критически важной, а также ограничить доступ к self-hosted Git-сервисам, спрятав их за VPN или другим средством удалённого доступа.

Кроме того, операторам инстансов Gogs советуют внимательно мониторить появление новых репозиториев со случайными 8-символьными именами и отслеживать нетипичное использование API PutContents. Исследователи опубликовали подробный перечень индикаторов компрометации, по которым администраторы могут проверить свои системы на наличие следов этой кампании.

Рекламодатель
Реклама. АО «Позитив Текнолоджиз». ИНН 7718668887. 18+
Сайт рекламодателя: ptsecurity.com↗️
АО «Позитив Текнолоджиз»