Обзор
12 октября 2026 года компания GitLab опубликовала критический патч для CVE-2026-97229, устраняющий целочисленное переполнение или перекрутку (CWE-190) в компиляторе регулярных выражений CI/CD, затрагивающий GitLab Community Edition (CE) и Enterprise Edition (EE). GitLab присвоила этой уязвимости оценку CVSSv3.1, равную 10.0. При определенных условиях удаленный злоумышленник может выполнить произвольный код на уязвимом сервере GitLab с помощью специально сформированного регулярного выражения, сохраненного в вредоносной конфигурации CI/CD. Хотя указанная вендором оценка CVSS указывает на то, что эксплуатация полностью неаутентифицирована, при воспроизведении эксплойта было отмечено, что злоумышленник должен иметь механизм внедрения вредоносной конфигурации CI/CD в репозиторий до запуска уязвимости. В экземплярах GitLab, где новые пользователи могут самостоятельно регистрироваться и создавать проекты, это ограничение снимается.
Уязвимость затрагивает самостоятельно управляемые (self-managed) экземпляры GitLab во всех типах развертывания. GitLab.com уже работает на пропатченной версии, а клиентам GitLab Dedicated предпринимать какие-либо действия не требуется.
На момент написания этой статьи нет подтвержденных случаев эксплуатации CVE-2026-97229 «в дикой природе». Тем не менее, специалисты Rapid7 Intelligence независимо воспроизвели выполнение произвольного кода на непопатченном официальном образе GitLab CE. Учитывая максимальную оценку CVSS уязвимости, сетевой триггер и выполнение кода в рабочем процессе (worker) приложения GitLab, Rapid7 рекомендует в срочном порядке обновить уязвимые self-managed экземпляры вне рамок обычных циклов патчей.
Технический обзор
Тестирование Rapid7 показало, что злоумышленник должен сначала иметь возможность зафиксировать (commit) вредоносный файл конфигурации CI/CD .gitlab-ci.yml и путь к репозиторию, содержащий символы UTF-8, в ветку публичного проекта. Например, обычная учетная запись может удовлетворить этому предварительному условию, создав публичный проект на self-managed экземпляре GitLab, где такая функциональность разрешена.
Сформированное регулярное выражение изначально компилируется в компактном представлении US-ASCII и проходит проверку регулярных выражений в GitLab. Когда оно оценивается по отношению к специально сформированному, действующему пути репозитория в кодировке UTF-8, движок регулярных выражений Onigmo в Ruby перекомпилирует его для новой кодировки после завершения этих проверок. Целочисленное переполнение при расчете размера программы компилятора приводит к генерации недействительных инструкций регулярных выражений. Полученная в результате потеря целостности управляющего потока может быть использована для выполнения контролируемых злоумышленником операций ВМ Onigmo в процессе Ruby и запуска команды операционной системы от имени пользователя git в GitLab.
Rapid7 подтвердила работоспособность всей цепочки на официальном образе GitLab 19.4.1 CE Linux amd64 с включенной рандомизацией размещения адресного пространства (ASLR). Аналогичный ввод не сработал на официальном пропатченном образе 19.4.2 CE. Подробности о первопричине и цепочке эксплойта будут приведены в отдельном техническом анализе Rapid7.
Рекомендации по устранению
Доступен предоставленный вендором патч для устранения CVE-2026-97229. Организациям, использующим уязвимые self-managed экземпляры GitLab CE или EE, следует немедленно обновиться до исправленной версии, не дожидаясь регулярного цикла патчей:
Затронутые версии GitLab CE/EE
Исправленная версия
Все версии с 19.2 до 19.2.8
19.2.8
Все версии с 19.3 до 19.3.5
19.3.5
Все версии с 19.4 до 19.4.2
19.4.2
Сайт GitLab.com уже обновлен, а клиентам GitLab Dedicated не нужно предпринимать никаких действий. До тех пор, пока уязвимые self-managed экземпляры не будут обновлены, ограничение анонимного доступа к публичным проектам и предотвращение создания или записи в публичные проекты ненадежными пользователями могут снизить подверженность пути атаки, продемонстрированному Rapid7. Эти элементы управления устраняют только продемонстрированный путь доставки и не исправляют уязвимый компилятор регулярных выражений.
Для получения последних рекомендаций по устранению уязвимости обратитесь к рекомендации по безопасности GitLab.
Клиенты Rapid7
Exposure Command, Vulnerability Management и Nexpose
Клиенты Exposure Command, Vulnerability Management и Nexpose могут оценить подверженность уязвимости CVE-2026-97229 с помощью аутентифицированной проверки уязвимостей, которая, как ожидается, станет доступна в сегодняшнем (13 октября) выпуске контента.
Обновления
- 13 октября 2026 г.: Первоначальная публикация.
13 октября 2026 г.: Первоначальная публикация.








