Критическая уязвимость в GitLab позволяет удаленно выполнять команды на сервере

Критическая уязвимость в GitLab позволяет удаленно выполнять команды на сервере

Она получила обозначение CVE‑2026‑97229 и оценку 10,0 по шкале CVSS 3.1
14 октября 2026 г.

В GitLab обнаружена критическая уязвимость CVE‑2026‑97229, позволяющая злоумышленнику при определенных условиях удаленно выполнять произвольные команды на сервере. Проблема связана с переполнением целочисленного значения при обработке регулярных выражений в конфигурации CI/CD и затрагивает GitLab Community Edition (CE) и Enterprise Edition (EE). Уязвимость получила максимальную оценку 10,0 по шкале CVSS 3.1.

8 октября в эфире Threat Zone мы среди прочего разбирали различные подходы к приоритизации уязвимостей, их преимущества и недостатки. CVE‑2026‑97229 хорошо иллюстрирует, почему при оценке угрозы недостаточно ориентироваться исключительно на CVSS.

В отличие от критических RCE, для эксплуатации которых достаточно отправить специально сформированный запрос к доступному из интернета серверу, CVE‑2026‑97229 требует предварительно выполнить ряд условий. В частности, опубликованный сценарий эксплуатации предполагает предварительное размещение специально подготовленной конфигурации CI/CD и файлов в публичном проекте GitLab.

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

Как эксплуатируют уязвимость
  • Уязвимость связана с переполнением целочисленного значения в движке регулярных выражений Onigmo, используемом Ruby. При обработке специально подготовленных регулярных выражений в конфигурации CI/CD это может привести к удаленному выполнению произвольных команд на сервере GitLab.
  • Для эксплуатации по опубликованному сценарию злоумышленнику необходимо предварительно разместить вредоносную конфигурацию CI/CD (.gitlab‑ci.yml) и специально подготовленные файлы в публичном проекте GitLab. Если на сервере разрешена самостоятельная регистрация пользователей и создание публичных проектов, злоумышленник может сам выполнить эти действия.
  • После подготовки публичного проекта злоумышленник может инициировать эксплуатацию через API проверки конфигурации CI/CD без необходимости пользовательской аутентификации.
  • Эксплуатация может привести к компрометации сервера GitLab, включая доступ к исходному коду, конфиденциальной информации и секретам CI/CD.
  • Уже опубликован работоспособный PoC для удаленного выполнения команд. Исследователи Rapid7 подтвердили эксплуатацию на GitLab 19.4.1 CE. Публичная реализация эксплоита ориентирована на конкретную сборку Linux amd64 и может потребовать адаптации для других версий.
  • По состоянию на 14 октября 2026 года подтвержденной информации об эксплуатации уязвимости в реальных атаках нет.
Какие версии GitLab уязвимы

Затронуты самостоятельно развернутые серверы GitLab CE и EE следующих версий:

  • 19.2 — с 19.2.0 до 19.2.7 включительно;
  • 19.3 — с 19.3.0 до 19.3.4 включительно;
  • 19.4 — с 19.4.0 до 19.4.1 включительно.
Как защититься

Как можно скорее обновите GitLab до исправленной версии соответствующей ветки: 19.2.8, 19.3.5, 19.4.2 или более новой поддерживаемой версии.

Если обновиться немедленно невозможно, временно ограничьте самостоятельную регистрацию пользователей, создание публичных проектов и внесение изменений в них недоверенными пользователями. Дополнительно рекомендуем ограничить доступ к GitLab из интернета, если он не нужен для работы. Эти меры снижают риск эксплуатации по опубликованному сценарию, но не устраняют саму уязвимость и не заменяют установку исправления.

Дополнительно убедитесь, что на внешнем периметре организации отсутствуют забытые или неучтенные инстансы GitLab с уязвимыми версиями.

Как помогают наши решения

BI.ZONE EASM помогает выявлять доступные из интернета инстансы GitLab и контролировать их состояние. С помощью платформы можно:

  • обнаруживать GitLab на внешнем периметре организации;
  • обнаруживать уязвимости в публично доступных эндпоинтах приложений;
  • выявлять потенциально уязвимые и неучтенные инстансы.

Это позволяет оперативно определить ресурсы, требующие проверки и обновления, и снизить риск компрометации инфраструктуры разработки.

Дополнительная информация