Alpine обновила GitLab, но осталась уязвимой: исправление лежало в патче Ruby
Уязвимость с CVSS 10.0 сидела в регулярных выражениях Ruby, а GitLab применяет исправление только в своих пакетах. В образе Alpine был стандартный Ruby.
Обновление до GitLab 19.3.6 22 октября не закрыло CVE-2026-97229 на GitLab от Alpine. 21 октября злоумышленник восемь раз обрушил воркеры. Команда пересобрала систему с нуля и сбросила все пароли.
Alpine не нашла признаков успешной атаки, но пробелы в логах не позволяют это исключить.
Исправление жило вне приложения
Отчёт Alpine об инциденте описывает CVE-2026-97229, уязвимость с CVSS 10.0 в том, как GitLab обрабатывает регулярные выражения в конфигурации CI. Ошибка находится в Onigmo, движке регулярных выражений Ruby, а исправление GitLab — набор патчей Ruby, которые применяются только в его собственных пакетах. Alpine перешла на 19.3.4, а не на 19.3.5, 13 октября, и на 19.3.6 22 октября. Но это не помогло: в их образе был стандартный Ruby.
21 октября злоумышленник восемь раз обрушил воркеры GitLab, в четырёх случаях дошёл почти до конца эксплойта и скачал образ контейнера. Alpine не нашла следов подмены релизов или пакетов, а ключи подписи никогда не хранились на сервере. Но из-за пробелов в логах нельзя исключить, что эксплойт сработал незаметно. Экземпляр пересобрали, все пароли сбросили, секретные ключи заменили. Исправление в основной ветке Ruby вышло 23 октября, в версиях 3.3.13, 3.4.12 и 4.0.9.
Тред: патчить компонент, а не приложение
«Насколько я могу судить, три из четырёх затрагивают старые версии Ruby, для которых не выходят патчи безопасности. Обновите Ruby!» — основатель сервиса по обновлению Ruby on Rails
Тем, кто сам хостит GitLab, нужно обновить Ruby, а не только GitLab. Образ стоит скачать заново, если его забирали до 27 октября.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Это последняя новость выпуска 29 октября 2026.
Перейти в архив выпусков