Rapid7 превратила уязвимость GitLab с оценкой 10,0 в демонстрацию продукта в действии — за три недели до отчетности
Регулярное выражение из 248 символов позволяет выполнять команды на непатченых самостоятельно размещаемых серверах GitLab. Rapid7 воспроизвела эксплойт через день после патча GitLab от 12 октября и в тот же день поставила платным клиентам средства обнаружения — похоже, это первое публичное применение подразделения Rapid7 Intelligence, запущенного 2 октября.
Vincent Jiang · 4 min read
Регулярное выражение, просочившееся мимо фильтров
12 октября GitLab−5.70% — GitLab, down 5.70 percent today выпустила внеплановый патч — обновление безопасности вне обычного месячного графика — для уязвимости CVE-2026-97229, целочисленного переполнения, которому компания присвоила оценку 10,0, максимальную по шкале критичности CVSS 12. Дефект находится в компиляторе регулярных выражений в конфигурациях CI/CD — конвейерах, которые собирают и развертывают программное обеспечение, — во всех самостоятельно размещаемых редакциях Community и Enterprise. В тот день были закрыты 24 уязвимости; об этой GitLab узнала из отчета исследователя, действующего под ником joaxcar, в рамках программы bug bounty на HackerOne 23.
День спустя Rapid7−3.59% — Rapid7, down 3.59 percent today сообщила, что воспроизвела всю цепочку на официальном непатченом образе Community Edition 19.4.1 с включенной рандомизацией адресного пространства; на пропатченной версии 19.4.2 тот же ввод не срабатывал 1. Путь атаки двухступенчатый: специально составленное регулярное выражение в файле конвейера .gitlab-ci.yml проходит валидацию GitLab, затем перекомпилируется по пути репозитория, содержащему символы UTF-8, — и здесь целочисленное переполнение в движке Onigmo языка Ruby отдает атакующему контроль над процессом.
24 часа от патча до работающего эксплойта
Команды операционной системы затем выполняются от имени пользователя git — сервисной учетной записи, под которой работает приложение GitLab 1. Публичный proof-of-concept превращает 248 символов более чем в 2 Гбайт кода движка и добирается до вызова system() 4. По оценке GitLab, для эксплуатации бага аутентификация вовсе не требуется; в воспроизведении Rapid7, впрочем, все еще нужно было сначала подложить этот конфигурационный файл — барьер, который исчезает там, где инстанс разрешает любому зарегистрироваться и открыть публичный проект 1.
На самостоятельно размещаемых серверах — исходный код и облачные учетные данные
Именно то, что стоит за этими серверами, объясняет, почему оценка 10,0 в данном случае так быстро притягивает атакующих: исходный код организации, ее конвейеры сборки и учетные данные, с помощью которых эти конвейеры получают доступ к облачным аккаунтам, — по словам координатора глобальных исследований iCounter Романа Ю. Санникова 5. Среди клиентов GitLab — более половины корпораций из списка Fortune 100 3.
Это уже вторая уязвимость максимальной критичности у GitLab за два месяца. Сентябрьский баг обхода пути (path traversal) CVE-2026-85706 попал в ведущийся американским агентством по кибербезопасности CISA каталог эксплуатируемых уязвимостей через день после того, как GitLab выпустила патч, а исследователи watchTowr уже фиксировали попытки зондирования 36. «Командам следует исходить из того, что окно между раскрытием уязвимости и ее эксплуатацией измеряется днями, а не неделями», — отметил г-н Санников 5. По состоянию на 13 октября фактов эксплуатации новой уязвимости не подтверждено 1.
Детекция в день патча — дебют нового подразделения в продуктах
Бизнес-история здесь — в тайминге. Подразделение Rapid7 Intelligence, запущенное 2 октября ради прямой передачи исследований уязвимостей в платные продукты, включило аутентифицированную проверку обнаружения этой уязвимости в продукты Exposure Command, Vulnerability Management и Nexpose в составе контент-обновления, выпущенного в тот же день, 13 октября 17. Для платных клиентов это обещание, данное при запуске, — уже в виде работающего кода: результаты исследования добираются до продукта менее чем за сутки после публикации уязвимости.
Больше всех в такой демонстрации нуждается сама материнская компания, торгующаяся на Nasdaq. Выручка в квартале, завершившемся в июне, снизилась на 1,5% в годовом выражении — это уже второй квартал падения подряд, а в сентябре JPMorgan понизил рейтинг акций до «ниже рынка» (underweight) с целевой ценой $12 89. Отчетность за третий квартал будет представлена 4 ноября 8.
Рост Rapid7 упал с 13% до двух кварталов снижения подряд
Data
| Рост выручки, г/г | |
|---|---|
| III кв. 23 | 13.1% |
| IV кв. 23 | 11.3% |
| I кв. 24 | 12% |
| II кв. 24 | 9.2% |
| III кв. 24 | 8% |
| IV кв. 24 | 5.4% |
| I кв. 25 | 2.5% |
| II кв. 25 | 3% |
| III кв. 25 | 1.5% |
| IV кв. 25 | 0.5% |
| I кв. 26 | -0.3% |
| II кв. 26 | -1.5% |
GitLab растет на 21%, пока Rapid7 сокращается
GitLab (NASDAQ: GTLB) растет и при этом остается в зоне риска: в квартале, завершившемся в июле, выручка выросла на 21,3% — до $286,3 млн, при чистом убытке в $36,8 млн 10. GitLab.com уже пропатчен, а клиентам Dedicated — однотенантного облака, размещаемого у самой компании, — ничего делать не нужно: прямой ущерб придется на серверы клиентов, а не на финансовые показатели вендора 1.
Выручка GitLab росла более чем на 20% во всех двенадцати кварталах на графике
Data
| Выручка, $ млн | |
|---|---|
| III кв. 23 | $149.67M |
| IV кв. 23 | $163.78M |
| I кв. 24 | $169.19M |
| II кв. 24 | $182.58M |
| III кв. 24 | $196.05M |
| IV кв. 24 | $211.43M |
| I кв. 25 | $214.51M |
| II кв. 25 | $235.96M |
| III кв. 25 | $244.35M |
| IV кв. 25 | $260.4M |
| I кв. 26 | $264.16M |
| II кв. 26 | $286.25M |
Обновиться сейчас — и следить за двумя датами
Целевые версии патча конкретны: 19.2.8, 19.3.5 и 19.4.2 — установить их нужно сейчас, не дожидаясь ближайшего ежемесячного цикла обновлений 1. Если с обновлением приходится повременить, GitLab рекомендует ограничить анонимный доступ к публичным проектам и запретить их создание недоверенными пользователями 1. Там, где инстанс оставался непатченым все время после раскрытия уязвимости, г-н Санников советует сменить секреты и токены CI/CD и проверить активность раннеров и конвейеров с момента публикации данных об уязвимости 5.
Чем все закончится, покажут два маркера. Первый — последует ли CVE-2026-97229 вслед за сентябрьской «сестрой» в каталог CISA 36. Второй — 4 ноября: Rapid7 представит результаты III квартала и должна будет ответить, отражается ли работа подразделения Intelligence во внедрении платных продуктов 8. До тех пор риск остается на тех, у кого до сих пор работает забытый самостоятельно размещаемый инстанс.
Deepdive
AI-generated from this story and its cited sources. Not investment advice.



