Skip to content
enterprise

Уязвимость 10/10 в GitLab поставила под угрозу 12 лет работы

На вид обычный движок регулярных выражений стал «входной дверью» для одного из самых серьезных инцидентов безопасности в GitLab. Главный урок: экстренные патчи могут выявить скрытые издержки самостоятельного управления критически важным ПО.

Eleanor Shaw
Уязвимость 10/10 в GitLab поставила под угрозу 12 лет работы

Публичный проект может открыть дверь

Критическая уязвимость CVE-2026-110264 недавно потрясла self-managed экземпляры GitLab, получив максимальную оценку 10.0 по шкале CVSS. Этот изъян позволяет неавторизованному злоумышленнику выполнять произвольный код на уязвимых серверах, что представляет прямую угрозу целостности данных и непрерывности операций.

Для эксплойта требуется определенное условие: экземпляр GitLab должен содержать хотя бы один публичный проект или запускать рендеринг Org-mode. Специально сформированный ввод регулярного выражения достигает уязвимого кода внутри встроенного в GitLab движка Onigmo, что приводит к переполнению целых чисел и последующему выполнению кода.

Эта уязвимость имеет долгую историю, уходящую корнями в GitLab 7.0, выпущенный в июне 2014 года. Она затрагивает self-managed версии Community Edition (CE) и Enterprise Edition (EE) в широком спектре версий, включая:

  • 18.11.x
  • 19.0.x–19.4.x
  • 19.5.0

Платформы GitLab.com и GitLab Dedicated получили скрытые патчи, но self-hosted развертывания находятся под непосредственной угрозой. Обходных путей нет; организациям необходимо обновить свои экземпляры до исправленных версий, таких как 18.11.13, 19.0.10 или 19.5.1, чтобы нейтрализовать эту серьезную угрозу. Примерно 82 000 self-managed серверов GitLab остаются доступными из интернета, что делает своевременные действия обязательными.

Ошибка скрывалась внутри движка регулярных выражений Ruby

Ошибка находилась глубоко внутри встроенной среды выполнения Ruby в GitLab. В частности, движок регулярных выражений Onigmo, интегрированный в Ruby, некорректно обрабатывал идентификаторы повторов во время компиляции регулярных выражений. Тщательно составленный шаблон мог вызвать переполнение целых чисел, что напрямую приводило к повреждению памяти.

Успешная эксплуатация позволяла неавторизованному злоумышленнику выполнять нативный код на уязвимом self-managed сервере. Этот код выполнялся от имени системного пользователя git в GitLab, создавая серьезный риск для хранящихся репозиториев и потенциально раскрывая конфиденциальные данные CI/CD.

Этот инцидент подчеркивает критическую уязвимость цепочки поставок: сторонние или встроенные компоненты среды выполнения часто избегают тщательной проверки, которой подвергается основной код приложения. Даже надежные внутренние проверки безопасности могут пропустить изъяны в библиотеках вышестоящих разработчиков (upstream).

Для исправления GitLab потребовалось выпустить специально пропатченные бинарные файлы Ruby 3.3, 3.4 и 4.0 в составе пакетов Omnibus, устранив переполнение в Onigmo. Любой сервис на базе Ruby, компилирующий недоверенные регулярные выражения, должен срочно оценить свою подверженность риску, особенно если не были применены последние патчи Ruby (Ruby 4.0.9, 3.4.12 и 3.3.13). Эта уязвимость показывает, что единственный изъян в фундаментальном компоненте может поставить под угрозу годы операционной целостности.

Две оценки 10/10 за девять дней — это не случайность

Недавние показатели безопасности GitLab требуют немедленного внимания. Эта уязвимость в Onigmo, получившая оценку CVSS 10.0, появилась всего через девять дней после другого критического исправления ошибки в компиляторе регулярных выражений CI/CD, также оцененного в 10.0. Такая концентрация беспрецедентна и сигнализирует об изменении профиля рисков.

Исторически GitLab зафиксировал всего четыре уязвимости с CVSS 10.0 в период с 2019 по конец 2025 года. Однако в начале осени 2026 года платформа столкнулась с тремя такими «десятками» всего за шесть недель. Сообщается, что сентябрьская уязвимость была использована в течение дня после выхода патча, что подчеркивает срочность ситуации.

Этот ускоренный темп выпуска критических уведомлений создает значительное операционное давление на self-managed инстансы. Экстренные обновления часто требуют downtime и сложной миграции баз данных, что нарушает процессы разработки. Повторяющиеся уведомления вызывают patch fatigue у администраторов, увеличивая вероятность того, что системы останутся без обновлений.

Каждая задержка оставляет уязвимую систему открытой в течение окна сканирования злоумышленниками. Учитывая, что около 82 000 self-managed серверов GitLab доступны из интернета, поверхность атаки весьма значительна. Для получения подробной информации и ознакомления с новыми уведомлениями посетите GitLab Releases & Security Advisories. Руководители должны осознать, что эта закономерность — не просто досадная случайность; она требует стратегического пересмотра подходов к безопасности и протоколов обновления.

Нравится статья? Получайте такие каждое утро на почту.

одно письмо в день · отписка в два клика · без сторонних трекеров

Сначала установите патч; проводите расследование в процессе ожидания

Немедленные действия критически важны для self-managed инстансов GitLab. Обходных путей для этой CVSS 10.0 уязвимости не существует; администраторы должны без промедления обновиться до исправленной версии. Обратитесь к странице уведомлений безопасности и релизов GitLab, чтобы уточнить свою версию и применить соответствующий backport.

GitLab минимизировал риски для своих облачных сервисов, включая GitLab.com и GitLab Dedicated, применив патчи проактивно. Однако ответственность за обновление до безопасной версии, такой как 18.11.13, 19.0.10 или 19.5.1, лежит на организациях, использующих self-managed инстансы. Невыполнение этого требования оставляет ваши системы уязвимыми.

После установки патча крайне важно провести тщательное расследование. Изучите руководство GitLab по обнаружению индикаторов компрометации, обращая особое внимание на сбои в работе Onigmo worker или необычные всплески ошибок рендеринга Org-mode. Оцените публичную доступность вашего инстанса, учитывая, что примерно 82 000 self-managed серверов GitLab доступны через интернет.

Наконец, если есть подозрение на компрометацию, проведите полный аудит секретов CI/CD и логов доступа. Проактивное обновление и бдительный анализ после инцидента — ваши самые сильные средства защиты от угроз, способных подорвать более чем десятилетнюю операционную целостность.

Часто задаваемые вопросы

Что представляет собой уязвимость GitLab CVE-2026-110264?

Это уязвимость удаленного выполнения кода (RCE) с оценкой CVSS 10.0, связанная с переполнением целых чисел в Onigmo, движке регулярных выражений Ruby, входящем в состав GitLab.

Какие инстансы GitLab затронуты?

Уязвимость затрагивает self-managed версии GitLab CE и EE, начиная с версии 7.0, при наличии публичного проекта или соответствующего триггера рендеринга.

Как администраторы могут защитить self-managed инстанс GitLab?

Обновитесь до исправленного релиза GitLab как можно скорее; в уведомлении указаны исправленные версии для всех поддерживаемых веток релизов.

Был ли затронут GitLab.com?

GitLab сообщил, что GitLab.com и GitLab Dedicated были пропатчены до публичного раскрытия информации. Администраторы self-managed инстансов должны самостоятельно применить обновления.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

Для билдеров

Эта страница работает на чужой инструмент.

Её читают AI-агенты. На неё приходят покупатели. Она отвечает на восьми языках и через MCP. У вашего инструмента может быть такая же — в эфире за 24 часа.