CVE-2026-97229 Использовали для попытки взлома Gitlab Alpine Linux
Хакеры пытались взломать GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов. через уязвимость CVE-2026-97229Критическая уязвимость в движке регулярных выражений Onigmo, используемом языком Ruby. Позволяет злоумышленнику потенциально выполнить произвольный код на сервере при обработке специально подготовленного регулярного выражения. В GitLab уязвимость могла быть использована через CI-конфигурации.: доказательств успеха нет, но сервер пересобрали, а пакеты и релизы не затронуты. Alpine пишет, что атака была близка к успеху.
CVE-2026-97229: Критическая уязвимость (CVSS 10.0Максимальная оценка опасности уязвимости по шкале CVSS. Означает критический уровень риска.) в обработке регулярных выраженийСпециальные шаблоны для поиска, проверки и обработки текста. Например, используются для проверки формата адресов электронной почты. в CI-конфигурацииФайл с инструкциями для автоматической сборки, проверки и тестирования кода при внесении изменений в проект. GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов.. Ошибка находится в OnigmoПрограммный движок для обработки регулярных выражений, используемый в Ruby., движке регулярных выраженийСпециальные шаблоны для поиска, проверки и обработки текста. Например, используются для проверки формата адресов электронной почты. внутри RubyЯзык программирования, применяемый для создания веб-приложений, автоматизации и серверных систем., поэтому под угрозой любая программа, которая компилирует регулярные выражения из недоверенного ввода. GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. выпустил исправления 12 октября, но это патчиОбновления программного обеспечения, предназначенные для исправления ошибок, устранения уязвимостей безопасности или улучшения работы программы. Обычно патчи изменяют отдельные компоненты, не требуя полной переустановки приложения. к RubyЯзык программирования, применяемый для создания веб-приложений, автоматизации и серверных систем., который GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. поставляет в своих пакетах. Официальный RubyЯзык программирования, применяемый для создания веб-приложений, автоматизации и серверных систем. получил исправление только 23 октября, в версиях 3.3.13, 3.4.12 и 4.0.9. Через неделю после выхода исправления хакеры атаковали GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов..
Мы не нашли доказательств того, что атака удалась, но не можем исключить этого, поэтому мы сочли инстансОтдельный запущенный экземпляр программы или сервиса. скомпрометированным и пересобрали его с нуля.1
29 Октября: команда Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов. уже открыла доступ к Gitlab, и в добавок выпустила статью "GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. is back: what you need to do" в которой они рассказывают, что делать после инцидента 2
Атака: 20 и 21 октября новый аккаунт отправил специально созданные CI-конфигурацииФайл с инструкциями для автоматической сборки, проверки и тестирования кода при внесении изменений в проект. на GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов.. Сервер работал на версии 19.3.4 без исправления от 12 октября: 13 октября команда по ошибке обновилась до 19.3.4 вместо 19.3.5, где исправление уже было. Эти действия 8 раз обрушили рабочие процессы GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов.. В 4 случаях атакующий прошёл часть эксплойта и остановился на следующем шаге. Он также скачал образ контейнера GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов., что может означать, что эксплойтПрограмма или последовательность действий, использующая уязвимость для получения несанкционированного доступа или нарушения работы системы. настраивали под конкретную сборку. Хронология приведена у Alpine Linux.
22 Октября: Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов. обновила GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. до версии 19.3.6, но это не закрыло уязвимость. Исправление находится не в коде самого GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов., а в патче для RubyЯзык программирования, применяемый для создания веб-приложений, автоматизации и серверных систем., который GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. применяет только в своих официальных пакетах. Образ GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. от Alpine использовал стандартный RubyЯзык программирования, применяемый для создания веб-приложений, автоматизации и серверных систем., поэтому патч не получил. Об этом пишет Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов.
23–27 Октября: 23 октября аккаунт атакующего заблокировали. 25 и 26 октября он возвращался и пытался снова получить доступ, но попытки не удались. 26 октября команда обнаружила, что сервер всё ещё уязвим, а 27 октября закрыла GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. для всех, кроме разработчиков и сборочных серверов, и начала пересборку. Даты указаны в хронологии Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов..
28–30 Октября: 28 октября пересборка завершилась, пароли сбросили, а секретные ключи GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. заменили. 29 октября GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. снова открыли, обновив его до 19.3.7 октября Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов. выпустила статью «GitLab is back: what you need to do», где объясняет, что делать после инцидента. Это указано в хронологии и в обновлении к посту.
Почему не уверены: Следов выполнения кода команда не нашла: ни задержек при проверках, ни лишних файлов, ключей, хуков и процессов. Но удачный эксплойтПрограмма или последовательность действий, использующая уязвимость для получения несанкционированного доступа или нарушения работы системы. не оставил бы сбоев и следов в веб-логахЖурналы, в которых записываются обращения к веб-серверу, включая время запросов, адреса клиентов и другие технические сведения.. Часть логов за день атаки пропала, а исходящие соединения не записывали ни Alpine, ни хостинг. Об этом пишет Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов..
Пакеты и релизы: Alpine не нашла следов вмешательства в aportsРепозиторий Alpine Linux с инструкциями и файлами, необходимыми для сборки программных пакетов дистрибутива, пакеты и релизы. Каждый коммитЗафиксированное изменение в системе контроля версий, сохраняющее состояние файлов проекта на определённый момент. в aportsРепозиторий Alpine Linux с инструкциями и файлами, необходимыми для сборки программных пакетов дистрибутива с 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Практики автоматизации тестирования, сборки и доставки программного обеспечения после изменения исходного кода. и токены раннеровСекретные данные, используемые для аутентификации компонентов, которые выполняют автоматические задачи CI/CD., учётные данные вебхукМеханизм автоматической отправки уведомлений между сервисами при наступлении определённых событий.ов, интеграций и push-зеркалКопия Git-репозитория, в которые изменения автоматически отправляются из основного репозитория., хэши персональных токенов доступа, приватные репозитории, конфиденциальные issues и merge requestsЗапросы на объединение изменений в коде. Позволяют участникам проекта проверить и обсудить изменения перед их добавлением.. Через веб-запросы и APIПрограммный интерфейс, через который приложения и сервисы могут обмениваться данными и выполнять команды., которые видит команда, приватные данные атакующему не возвращались. Это указано в посте Alpine LinuxЛегковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов..
Что делать?: Если у вас аккаунт на gitlab.alpinelinux.org, задать новый пароль через «Forgot your password?»: все пароли сброшены. Если такой же пароль использовался где-то ещё, сменить его и там, потому что Alpine видела автоматические попытки входа с паролями, утёкшими с других сайтов.
Что меняется: Alpine обещает ставить критические обновления GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. в течение дня и проверять, нужны ли патчиОбновления программного обеспечения, предназначенные для исправления ошибок, устранения уязвимостей безопасности или улучшения работы программы. Обычно патчи изменяют отдельные компоненты, не требуя полной переустановки приложения. для RubyЯзык программирования, применяемый для создания веб-приложений, автоматизации и серверных систем. и других компонентов. Исходящие соединения GitLabПлатформа для хранения исходного кода, совместной разработки программного обеспечения и автоматизации сборки и тестирования проектов. и подключения к базе будут записывать, а логи хранить дольше 14 дней. Релизы получат подписанные тегиМетка версии в Git, подлинность и целостность которой можно проверить с помощью криптографической подписи., чтобы их можно было проверять независимо от 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Легковесный дистрибутив Linux, ориентированный на безопасность, простоту и минимальное потребление ресурсов..
Источники
Интересно обсудить?


Volven Skadadottir
Редактор verärgert
