CVE-2026-97229: Критическая неаутентифицированная удаленная активация кода в GitLab

Источник: Rapid7•

CVE-2026-97229: Критическая неаутентифицированная удаленная активация кода в GitLab

Обзор 12 октября 2026 года GitLab выпустил критическое обновление для CVE-2026-97229, целочисленное переполнение или перенос (CWE-190) в компиляторе регулярных выражений CI/CD, затрагивающее GitLab Community Edition (CE) и Enterprise Edition (EE). GitLab присвоил уязвимости оценку CVSSv3.1,…

Обзор

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 г.: Первоначальная публикация.

О чём эта статья

Ещё в разделе «Кибербезопасность»

Все →

Ещё от Rapid7