GitLab снова доказал, что дырявый API опаснее иного вируса

изображение: grok
Серверы GitLab с неисправленной уязвимостью CVE-2026-85706 попали под удар хакеров почти сразу после выхода патча. Ошибка позволяет постороннему читать файлы на сервере без авторизации и без учётной записи, а внутри таких файлов может найтись что угодно от паролей до токенов и рабочих ключей доступа. CISA внесла проблему в каталог известных эксплуатируемых уязвимостей уже на следующий день после первых сообщений об атаках.
GitLab стоит более чем у половины компаний из списка Fortune 100, а зарегистрированных пользователей платформы по миру насчитывается свыше 30 млн. Для такой аудитории дыра в одном API это не локальная поломка отдельного сервера, а лакомый кусок для массовых атак сразу на тысячи целей одновременно.
Баг засел в API коммитов репозиториев. Сервер не проверяет аутентификацию запроса и криво ограничивает доступ к путям файлов, поэтому получить содержимое произвольного файла может кто угодно без регистрации, пароля и прочих формальностей:
- уязвимость сидит в API коммитов репозиториев GitLab;
- проверка аутентификации запроса отсутствует как класс;
- доступ к путям файлов ограничен некорректно;
- для чтения любого файла хватает одного HTTP-запроса без учётной записи;
Патчи для Community Edition и Enterprise Edition компания выкатила в четверг, закрыв брешь в версиях 19.3.2, 19.2.6 и 19.1. Разработчики попросили админов ставить обновление без раскачки, но сама GitLab на момент релиза патча ещё не помечала CVE-2026-85706 как используемую в реальных атаках.
Интересно что подтверждать этот статус пришлось недолго, счёт пошёл на часы, а не на недели. Специалисты watchTowr заметили признаки сканирования серверов уже на следующий день после выхода фикса.
Исследователи обнаружили в сети реальные запросы, похожие на разведку по новой уязвимости обхода путей. По их данным, одного HTTP-запроса достаточно, чтобы получить содержимое произвольного файла, а переход от прощупывания почвы к массовой эксплуатации может занять считанные дни, потому что похожие дыры в GitLab и раньше быстро превращались в добычу для атакующих.
Администраторам стоит поднять журналы серверов и присмотреться к POST-запросам определённого вида. Записи с параметром file.path в адресах репозиториев коммитов способны выдавать попытку эксплуатации CVE-2026-85706, а не обычную рутинную работу разработчиков:
- проверить журналы на POST-запросы к адресам вида /api/v4/projects/{id}/repository/commits/;
- обратить внимание на параметр file.path в теле запроса;
- сверить версию GitLab с исправленными 19.3.2, 19.2.6 и 19.1;
- обновить сервер при малейшем сомнении в его защищённости;
Российские компании тоже держат self-hosted инстансы GitLab на своих серверах, и обновлять их приходится собственными силами без быстрой поддержки вендора. Для таких команд разрыв между выходом патча и его установкой способен растянуться на недели, а это ровно то время, за которое злоумышленники успевают довести разведку до боевой атаки.
В тот же день CISA добавила CVE-2026-85706 в каталог Known Exploited Vulnerabilities, куда попадают проблемы с подтверждённой эксплуатацией. Федеральным ведомствам США по распоряжению BOD 26-04 дали три дня на устранение, но агентство отдельно попросило остальные организации не откладывать обновление в долгий ящик.
Стоит обратить внимание что CISA прямо называет такие ошибки удобной точкой входа для атакующих и советует расставлять приоритеты по каталогу KEV, а не по личным ощущениям об опасности той или иной дыры.
У GitLab уже есть похожий опыт. В январе компания закрывала критическую дыру, позволявшую обойти двухфакторную аутентификацию, если атакующий знал только идентификатор учётной записи цели. С ноября 2021 года агентство CISA добавило в свой каталог уже четыре уязвимости платформы, и нынешняя стала очередной в этом списке:
- CVE-2021-22175 и CVE-2021-39935 добавлены в каталог KEV в феврале 2026 года;
- обход двухфакторной аутентификации закрыт в январе того же года;
- новая CVE-2026-85706 присоединилась к списку спустя месяцы после предыдущих записей;
- каждая из проблем требовала минимум действий со стороны атакующего для успеха;
Российским разработчикам и security-командам официальных уведомлений от западных регуляторов ждать не приходится, поэтому сверять версии GitLab с патч-нотами приходится по собственной инициативе и без напоминаний сверху. Ситуация типичная для популярных DevSecOps-платформ, патч уже существует, но между его публикацией и установкой у админов всегда остаётся окно, в которое атакующие успевают юркнуть быстрее защитников:
- держать GitLab обновлённым до последней доступной сборки;
- закрывать админ-панель от прямого доступа из интернета;
- активировать многофакторную аутентификацию для всех аккаунтов разработчиков;
- подписаться на бюллетени вендора и каталог CISA KEV, чтобы не пропустить следующую проблему;
В случае с CVE-2026-85706 это окно уже прощупывают. Сервер GitLab без обновления сейчас напоминает дверь с новой табличкой про ремонт, но без самого ремонта.
Эксперты CISOCLUB обратили внимание на то, что окно между релизом патча и массовой эксплуатацией у GitLab регулярно сжимается до одного-двух дней, и нынешний случай подтвердил эту закономерность. Компаниям стоит воспринимать каталог CISA KEV как минимальный чек-лист, а не как исчерпывающий список угроз.
Специалисты уточнили, что закрытые от интернета админ-панели и МФА снижают ущерб даже, если патч по каким-то причинам не успели поставить вовремя. По их словам, чтение произвольных файлов без авторизации входит в число самых опасных классов уязвимостей, потому что позволяет вытащить секреты без единого шага внутрь инфраструктуры компании. Подобные баги в GitLab и других крупных DevOps-платформах будут возникать снова, поэтому автоматизированный мониторинг патчей должен стать частью обычного рабочего процесса, а не разовой акцией после очередной новости.
Ранее сообщалось, что в российском сегменте интернета насчитывается более 9,3 тыс. публичных GitLab-сервисов, часть из которых может быть подвержена удалённой атаке без учётной записи. В GitLab Community Edition (CE) и Enterprise Edition (EE) выявили критическую уязвимость CVE-2026-19478, связанную с обработкой директив GraphQL. Она позволяет злоумышленнику без аутентификации удалённо изменять или удалять публичные проекты и пользовательские данные, при этом наличие аккаунта GitLab и взаимодействие с пользователем для атаки не требуются. Уязвимости присвоили оценку 9,4 из 10 по шкале CVSS.



