Свой Git-сервер выглядит скучной внутренней утилитой ровно до того момента, когда он превращается в ключ от всей разработки. Это происходит с Gitea — популярным лёгким self-hosted аналогом GitHub, который стоит в тысячах компаний, хоумлабов и внутренних контуров. Уязвимость CVE-2026-60004 с оценкой CVSS 9.8 уже под активной эксплуатацией: CISA внесла её в каталог Known Exploited Vulnerabilities и выставила федеральным агентствам дедлайн на патч к 28 августа, а в дикой природе через неё уже роняют дроппер крипто-майнера.
Как это работает: легальная фича превращается в RCE
Дыра сидит в функции diffpatch — применении патчей. Пользователь с правом записи в репозиторий отправляет специально сформированный вредоносный патч дважды, и в результате в служебный каталог hooks/ этого репозитория записывается исполняемый файл. А дальше вступает в игру фундаментальная особенность Git: серверные хуки (post-receive, update, pre-receive) выполняются самим сервером при операциях с репозиторием. Подложенный хук срабатывает и выполняет произвольные команды от имени сервисной учётной записи Gitea. То есть обычная работа с патчем оборачивается выполнением кода на хосте.
Это не какая-то экзотика, а повторяющийся паттерн: серверные git-хуки годами остаются мощнейшей точкой RCE, и любая возможность записать в hooks/ равносильна выполнению команд. Gitea, к слову, вырос как форк Gogs, и подобные классы проблем в этой линейке всплывали и раньше. Урок один: там, где легальная функция даёт запись в исполняемый путь, рано или поздно появляется RCE.
Почему «нужны права записи» — это не защита
Первая реакция: раз нужен доступ на запись, атака только для инсайдеров. Но в Gitea по умолчанию включена открытая регистрация. На непропатченной инсталляции любой прохожий из интернета заводит обычный аккаунт, создаёт собственный репозиторий, автоматически получает в нём права записи — и эксплуатирует баг без каких-либо предварительных доступов. Фактически это почти неаутентифицированный RCE. По данным сканирований, наружу торчит более 8 300 уязвимых серверов, и это только видимая часть.
Окно между раскрытием и эксплуатацией в 2026-м схлопнулось до дней: патч вышел в конце июля (версия 1.27.1), а к концу августа уязвимость уже в KEV с реальными атаками. Классический n-day, где промедление с обновлением стоит компрометации.
Почему Git-сервер — это Tier-0
Крипто-майнер, который сейчас льют через эту дыру, — это первая, самая дешёвая волна: злоумышленник монетизирует доступ сразу, пока разбирается, что ещё можно взять. А взять на Git-сервере можно многое. Там лежат исходники, секреты в CI, деплой-ключи, токены реестров и облака, доступ к пайплайнам. RCE от сервисной учётки за пару шагов разворачивается в компрометацию цепочки поставки и продакшена. По сути это тот же класс риска, что мы разбирали в истории с червём ChainDrop в npm, только вход не через отравленный пакет, а через сам сервер сборки. Поэтому Git-сервер стоит считать активом уровня Tier-0 и охранять как контроллер домена, а не как «внутреннюю утилитку».
Что делать — по шагам
- Обновитесь до Gitea 1.27.1. Уязвимы версии 1.17 и новее до 1.27.1. Это первый и обязательный шаг, не откладывайте до окна обслуживания.
- Выключите открытую регистрацию (
DISABLE_REGISTRATION = true) и уберите Gitea из интернета, если ему там нечего делать: ограничьте доступ списком IP или спрячьте за VPN. - Проведите охоту на следы. Проверьте каталоги
repositories/<user>/<repo>.git/hooks/на посторонние исполняемые файлы (особенноpost-receive/update); ищите процессы с высокой нагрузкой CPU и исходящие соединения на майнинг-пулы; сопоставьте свежесозданные аккаунты и репозитории с окном атаки. - Ротируйте деплой-ключи, CI-секреты, токены реестров и облака, к которым имела доступ сервисная учётка Gitea, если сервер был доступен извне. Патч закрывает вход, но не выселяет того, кто уже внутри.
Найти такие выставленные наружу сервисы и небезопасные конфиги раньше атакующего помогает внешний пентест и управление уязвимостями; проверить безопасность самого пайплайна и кода — DevSecOps-практики и аудит исходного кода; а при следах компрометации — реагирование на инциденты. Оставьте заявку — проверим ваш dev-контур.
Источники: бюллетень безопасности Gitea (версия 1.27.1); публикации The Hacker News, runZero, SecurityWeek; каталог CISA KEV. Данные по числу уязвимых серверов — открытые интернет-сканирования.
Профильные услуги SecurityLab: тестирование на проникновение · пентест веб-приложений · Анализ вредоносного ПО.