GitLab выпустил экстренные обновления для устранения CVE-2026-97229 — критической уязвимости с максимальной оценкой 10.0 баллов по шкале CVSS, позволяющей неаутентифицированному злоумышленнику выполнить произвольный код на сервере GitLab. Проблема затрагивает GitLab Community Edition и Enterprise Edition версий 19.2–19.4. Администраторам самостоятельно размещённых инстансов GitLab необходимо немедленно установить патчи: исправления доступны в версиях 19.2.8, 19.3.5 и 19.4.2. Облачный сервис GitLab.com, по данным исходного бюллетеня, уже обновлён.
Технические детали CVE-2026-97229
Согласно записи в GitHub Advisory Database, уязвимость классифицирована как CWE-190 (Integer Overflow or Wraparound) — целочисленное переполнение в компоненте обработки регулярных выражений конфигураций CI/CD. При определённых условиях злоумышленник мог внедрить специально подготовленное регулярное выражение в конфигурацию пайплайна и добиться выполнения произвольного кода на стороне сервера. Критически важно: для эксплуатации не требовалась аутентификация.
Затронутые версии GitLab CE/EE:
- 19.2 — все версии до 19.2.8;
- 19.3 — все версии до 19.3.5;
- 19.4 — все версии до 19.4.2.
Записи в NVD и CVE Program подтверждают критический уровень серьёзности. На момент публикации независимых свидетельств активной эксплуатации CVE-2026-97229 в дикой природе не выявлено, и уязвимость не внесена в каталог CISA KEV. Однако отсутствие данных об эксплуатации не означает, что она не происходит — максимальная оценка CVSS и отсутствие требования аутентификации делают эту уязвимость привлекательной целью.
Сопутствующие уязвимости в том же обновлении
Патч-релиз GitLab 19.4.2 устраняет ещё несколько серьёзных уязвимостей, подтверждённых независимыми источниками:
- CVE-2026-92883 (CVSS 8.7) — межсайтовый скриптинг (XSS), позволяющий аутентифицированному атакующему выполнять произвольный JavaScript в браузерах других пользователей через специально подготовленный репозиторий. Проблема связана с некорректной санитизацией HTML-атрибутов в подсветке синтаксиса. Подтверждена официальной записью CVE.
- CVE-2026-16301 (CVSS 8.5, по данным исходного бюллетеня) — нарушение проверки прав доступа, из-за которого пользователь с ролью Developer мог запускать CI/CD-пайплайны в защищённых ветках без соответствующих разрешений. Затрагивает ветки начиная с 18.7, что подтверждено записью в GitHub Advisory Database.
Важный контекст: различие зон риска
Администраторам стоит учитывать, что текущий патч-релиз охватывает уязвимости с различным покрытием веток. CVE-2026-97229 затрагивает ветки 19.2–19.4, тогда как ранее раскрытая CVE-2026-85706 — другая критическая уязвимость GitLab с оценкой CVSS 10.0, позволявшая неаутентифицированному пользователю читать произвольные файлы через API коммитов, — охватывала ветки начиная с 18.7 и до 19.3. CVE-2026-85706 внесена в каталог CISA KEV с датой добавления 11 сентября 2026 года и сроком устранения 14 сентября 2026 года, что свидетельствует о подтверждённой эксплуатации в дикой природе. Подробности об этой уязвимости доступны в GitHub Advisory, а мы уже писали об этой уязвимости ранее.
Это означает, что подход к устранению должен быть дифференцированным: организации на ветках 18.7–19.1 могут не быть затронуты CVE-2026-97229, но должны были устранить CVE-2026-85706 ещё в сентябре. Организации на ветках 19.2–19.4 подвержены обеим угрозам.
Рекомендации
- Немедленно обновите самостоятельно размещённые инстансы GitLab CE/EE до версий 19.4.2, 19.3.5 или 19.2.8 в зависимости от используемой ветки. Информация о патче доступна в официальном бюллетене GitLab.
- Проверьте конфигурации CI/CD-пайплайнов на наличие подозрительных или нетипичных регулярных выражений — это может указывать на попытки эксплуатации CVE-2026-97229.
- Проведите ретроспективный анализ логов, особенно если ваш инстанс был доступен из интернета. Обратите внимание на необычные обращения к API коммитов (для CVE-2026-85706) и на создание или модификацию CI/CD-конфигураций неизвестными пользователями (для CVE-2026-97229).
- Если инстанс работал на уязвимой версии в период до выхода патча и был публично доступен, выполните ротацию секретов: токенов доступа, переменных окружения CI/CD и ключей развёртывания.
- Клиентам GitLab.com и GitLab Dedicated, по данным исходного бюллетеня, действий предпринимать не требуется.
Две критические уязвимости с максимальной оценкой CVSS 10.0 в GitLab за последние два месяца — CVE-2026-85706 в сентябре и CVE-2026-97229 в октябре — подчёркивают необходимость оперативного управления патчами для самостоятельно размещённых инстансов. Приоритет — немедленное обновление до исправленных версий и ретроспективная проверка на признаки компрометации, особенно для серверов с публичным доступом.