GitLab: три критические уязвимости за месяц, обновите до 19.5.1

За один месяц GitLab трижды выпускал срочные исправления критических уязвимостей, и все они — в обработке регулярных выражений. Две последние получили максимальные 10,0 балла и позволяют неавторизованному пользователю выполнить код на сервере. Касается это тех, кто держит GitLab у себя (self-managed): GitLab.com и GitLab Dedicated компания исправляет сама. Если ваша команда разворачивает GitLab на своём сервере, обновитесь до последней версии.
Что произошло
Все три уязвимости связаны с тем, как GitLab компилирует или разбирает регулярные выражения, в том числе в конфигурации CI/CD.
| Дата | Версии с исправлением | CVE | Оценка | Кто мог атаковать |
|---|---|---|---|---|
| 23 сентября | 19.4.1, 19.3.3, 19.2.7 | CVE-2026-89078, CVE-2026-93577 | 9,9 | Авторизованный пользователь |
| 12 октября | 19.4.2, 19.3.5, 19.2.8 | CVE-2026-97229 | 10,0 | Неавторизованный пользователь |
| 21 октября | 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13 | CVE-2026-110264 | 10,0 | Неавторизованный пользователь |
Главная проблема в том, что обновление 12 октября не закрыло всё. По данным The Hacker News, уязвимость CVE-2026-110264 затрагивает все версии GitLab начиная с 7.0, и серверы, обновлённые 12 октября до 19.4.2, 19.3.5 или 19.2.8, всё ещё уязвимы. Нужно ставить выпуск от 21 октября.
Кого касается
Компаний, которые держат GitLab на собственном сервере: для внутренней разработки, хранения кода, сборки и выкатки. Именно такие установки нужно обновлять вручную. GitLab.com и GitLab Dedicated компания пропатчила сама.
Уязвимости в обработке регулярных выражений опасны тем, что регулярки встречаются в CI/CD-конфигурации повсюду. А доступ без авторизации означает, что атаковать может любой, кто дотянется до сервера по сети. По данным источников на момент выхода, подтверждённых атак и публичных примеров эксплуатации не было, и в каталог CISA уязвимость не попала, но это не повод медлить.

Что делать
- Узнайте версию: в интерфейсе GitLab откройте «Справка» или страницу `/help`, версия указана вверху.
- Обновитесь до выпуска от 21 октября для своей ветки: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 или 18.11.13.
- Если вы обновлялись 12 октября, этого недостаточно: нужен выпуск 21 октября.
- После обновления проверьте, что сборки CI/CD и вход работают.
- Просмотрите журналы на необычные запросы к серверу, особенно если он доступен из интернета.
- По возможности ограничьте доступ к GitLab из интернета: держите его за VPN или в закрытом сегменте сети.
Наше мнение
Три критических выпуска за месяц в одном компоненте — редкая, но поучительная история. Она показывает, что одно обновление не всегда ставит точку: иногда исправление закрывает конкретный путь, а корневая проблема остаётся, и через неделю выходит новое. Поэтому «мы обновились в начале месяца» — не ответ на вопрос «вы в безопасности».
Мы советуем командам, которые держат GitLab или другие подобные системы у себя, не выставлять их панель прямо в интернет. Доступ через VPN закрывает целый класс атак на неавторизованные уязвимости: даже если дыра есть, дотянуться до неё снаружи нельзя. И стоит настроить уведомления о новых выпусках безопасности GitLab, чтобы не узнавать о них из новостей через неделю.
Почему self-managed требует внимания
GitLab в облаке у вендора обновляется автоматически — это одно из главных преимуществ облачной модели. Своя установка даёт контроль над кодом и данными, но ответственность за обновления полностью на вас. В 2026 году это особенно заметно: критические уязвимости в системах для разработчиков выходят регулярно, а сами эти системы — привлекательная цель, потому что через них можно добраться до исходного кода и секретов всех проектов компании.
Что ещё стоит проверить на сервере GitLab
Помимо обновления, у self-managed GitLab есть несколько мест, которые часто остаются без внимания:
- Регистрация новых пользователей. Если она открыта, любой из интернета может создать учётную запись. Для внутреннего сервера регистрацию лучше закрыть.
- Токены доступа и ключи CI/CD. Их стоит периодически пересматривать и отзывать неиспользуемые.
- Резервные копии. GitLab хранит весь код компании, поэтому проверенная и восстановимая копия — не формальность.
- Двухфакторная аутентификация. Включите её обязательно для всех, у кого есть доступ.
Эти меры не отменяют обновления, но снижают ущерб, если уязвимость всё-таки используют.
Полезно также вести учёт, где и какой версии GitLab развёрнут: в крупных компаниях нередко работает несколько установок, и про одну из них забывают. Именно забытый сервер чаще всего остаётся без обновлений.
Материалы для проверки
Если нужна реализация
Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.
Вопросы и ответы
У меня GitLab.com, а не свой сервер. Нужно ли что-то делать?
Нет. GitLab.com и GitLab Dedicated компания исправляет сама. Обновлять вручную нужно только self-managed установки.
Я обновился 12 октября. Этого хватит?
Нет. CVE-2026-110264 не закрыта выпуском 12 октября. Нужно поставить выпуск от 21 октября для своей ветки.
Атакуют ли эти уязвимости?
На момент выхода источники не сообщали о подтверждённых атаках и публичных примерах, в каталоге CISA уязвимости не было. Но доступ без авторизации и оценка 10,0 делают обновление срочным.
Как узнать версию GitLab?
Откройте страницу /help в интерфейсе: версия указана вверху. Либо посмотрите на сервере через менеджер пакетов.
Как снизить риск, если обновиться сразу нельзя?
Уберите панель GitLab из открытого доступа: за VPN или в закрытый сегмент сети. Это не заменяет обновление, но закрывает доступ снаружи к уязвимостям без авторизации.
Можно ли обновить GitLab, перескочив несколько версий?
GitLab требует обновляться по поддерживаемому пути: иногда нельзя прыгнуть с очень старой версии сразу на последнюю. Посмотрите официальный помощник по обновлению для вашей версии, чтобы не сломать базу данных. Для свежих веток 19.x переход на выпуск 21 октября обычно прямой.