verärgert
  • Последнее
  • Читать
  • Контакт
verärgert
  • Последнее
  • Читать
Спасибо,
ABC DINAMO
за шрифт <3
  • X
  • Telegram
Контактhi@vrgt.org
Запросы на удалениеtakedown@vrgt.org

CVE-2026-97229 Использовали для попытки взлома Gitlab Alpine Linux

Хакеры пытались взломать GitLab Alpine Linux через уязвимость CVE-2026-97229: доказательств успеха нет, но сервер пересобрали, а пакеты и релизы не затронуты. Alpine пишет, что атака была близка к успеху.

CVE-2026-97229: Критическая уязвимость (CVSS 10.0) в обработке регулярных выражений в CI-конфигурации GitLab. Ошибка находится в Onigmo, движке регулярных выражений внутри Ruby, поэтому под угрозой любая программа, которая компилирует регулярные выражения из недоверенного ввода. GitLab выпустил исправления 12 октября, но это патчи к Ruby, который GitLab поставляет в своих пакетах. Официальный Ruby получил исправление только 23 октября, в версиях 3.3.13, 3.4.12 и 4.0.9. Через неделю после выхода исправления хакеры атаковали GitLab Alpine Linux.

Мы не нашли доказательств того, что атака удалась, но не можем исключить этого, поэтому мы сочли инстанс скомпрометированным и пересобрали его с нуля.1

29 Октября: команда Alpine Linux уже открыла доступ к Gitlab, и в добавок выпустила статью "GitLab is back: what you need to do" в которой они рассказывают, что делать после инцидента 2

Атака: 20 и 21 октября новый аккаунт отправил специально созданные CI-конфигурации на GitLab Alpine Linux. Сервер работал на версии 19.3.4 без исправления от 12 октября: 13 октября команда по ошибке обновилась до 19.3.4 вместо 19.3.5, где исправление уже было. Эти действия 8 раз обрушили рабочие процессы GitLab. В 4 случаях атакующий прошёл часть эксплойта и остановился на следующем шаге. Он также скачал образ контейнера GitLab Alpine Linux, что может означать, что эксплойт настраивали под конкретную сборку. Хронология приведена у Alpine Linux.

22 Октября: Alpine Linux обновила GitLab до версии 19.3.6, но это не закрыло уязвимость. Исправление находится не в коде самого GitLab, а в патче для Ruby, который GitLab применяет только в своих официальных пакетах. Образ GitLab от Alpine использовал стандартный Ruby, поэтому патч не получил. Об этом пишет Alpine Linux

23–27 Октября: 23 октября аккаунт атакующего заблокировали. 25 и 26 октября он возвращался и пытался снова получить доступ, но попытки не удались. 26 октября команда обнаружила, что сервер всё ещё уязвим, а 27 октября закрыла GitLab для всех, кроме разработчиков и сборочных серверов, и начала пересборку. Даты указаны в хронологии Alpine Linux.

28–30 Октября: 28 октября пересборка завершилась, пароли сбросили, а секретные ключи GitLab заменили. 29 октября GitLab снова открыли, обновив его до 19.3.7 октября Alpine Linux выпустила статью «GitLab is back: what you need to do», где объясняет, что делать после инцидента. Это указано в хронологии и в обновлении к посту.

Почему не уверены: Следов выполнения кода команда не нашла: ни задержек при проверках, ни лишних файлов, ключей, хуков и процессов. Но удачный эксплойт не оставил бы сбоев и следов в веб-логах. Часть логов за день атаки пропала, а исходящие соединения не записывали ни Alpine, ни хостинг. Об этом пишет Alpine Linux.

Пакеты и релизы: Alpine не нашла следов вмешательства в aports, пакеты и релизы. Каждый коммит в aports с 20 по 22 октября пришёл через зафиксированный push известного разработчика. Это сверили с данными, недоступными атакующему: клоном разработчика и всеми 45 сборщиками. Пакеты, собранные с 20 по 24 октября, и релизы от 21 октября (3.21.9, 3.22.7, 3.23.7, 3.24.3) собраны из этих проверенных коммитов. Проверку провели 24 октября, а GitLab оставался уязвим до 27 октября, поэтому её продлевают до этой даты. Ключи подписи пакетов на сервере GitLab никогда не хранились.

Что могли украсть?: Если бы атака удалась, могло бы раскрыться следующее: адреса электронной почты, имена и IP-адреса всех пользователей, хэши паролей, секреты 2FA, переменные CI/CD и токены раннеров, учётные данные вебхуков, интеграций и push-зеркал, хэши персональных токенов доступа, приватные репозитории, конфиденциальные issues и merge requests. Через веб-запросы и API, которые видит команда, приватные данные атакующему не возвращались. Это указано в посте Alpine Linux.

Что делать?: Если у вас аккаунт на gitlab.alpinelinux.org, задать новый пароль через «Forgot your password?»: все пароли сброшены. Если такой же пароль использовался где-то ещё, сменить его и там, потому что Alpine видела автоматические попытки входа с паролями, утёкшими с других сайтов.

Что меняется: Alpine обещает ставить критические обновления GitLab в течение дня и проверять, нужны ли патчи для Ruby и других компонентов. Исходящие соединения GitLab и подключения к базе будут записывать, а логи хранить дольше 14 дней. Релизы получат подписанные теги, чтобы их можно было проверять независимо от GitLab.

Если вы запускаете GitLab со своим Ruby, обновить Ruby до 3.3.13, 3.4.12, 4.0.9 или новее. Одного обновления GitLab мало.

Если вы используете образ alpinelinux/gitlab, заново скачать 19.3.6: образ от 27 октября содержит Ruby 3.3.13, а более ранние образы и все старые теги уязвимы.

На Alpine выполнить apk upgrade. В 3.22, 3.23, 3.24 и edge исправленный Ruby имеет версию 3.4.12, в 3.21 версию 3.3.13. Всё это указано в посте Alpine Linux.

Источники

  1. Alpine Linux—GitLab security incident: attempted exploitation of CVE-2026-97229 ↩

  2. Alpine Linux—GitLab is back: what you need to do ↩

Интересно обсудить?

Volven Skadadottir

Редактор verärgert

Читайте также

  • Масштабный сбой накрыл одного из крупнейших российских хостинг-провайдеров Beget
  • Серверы на Ubuntu остаются уязвимыми от CVE-2026-98432
  • AmneziaVPN предупредила об уязвимости ядра Linux, которая угрожает серверам на Xray
  • ФБР обвинило КНДР в краже $6,3 млрд у Binance
  • Fedora 45 выйдет через 2 дня: главные изменения
  • Китайская группировка использовала уязвимость VMware с оценкой 2,7, чтобы скрывать следы