GitLab выпустила критический патч 19.5.1: уязвимость CVSS 10.0 позволяет выполнить код без входа

21 октября 2026 года GitLab выпустила критические патч-версии 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 и 18.11.13 для Community Edition (CE) и Enterprise Edition (EE). В релизе есть исправления ошибок и безопасности, и компания настоятельно рекомендует всем самостоятельно развёрнутым (self-managed) установкам обновиться до одной из этих версий немедленно.

Главная уязвимость, CVE-2026-110264, целочисленное переполнение в компиляторе регулярных выражений. По описанию GitLab, при определённых условиях неаутентифицированный пользователь мог выполнить произвольный код на сервере GitLab, скомпилировав специально подготовленное регулярное выражение. Оценка, CVSS 10.0 (вектор CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H), то есть максимальная. Затронуты CE и EE всех версий начиная с 7.0 и до исправленных: до 18.11.13, 19.0.10, 19.1.9, 19.2.9, 19.3.6, 19.4.3 и 19.5.1. Помимо стандартных патч-релизов, исправление перенесено (backport) в ветки 18.11, 19.0, 19.1 и 19.2. Об уязвимости сообщил исследователь с ником joaxcar через программу вознаграждений HackerOne. GitLab также выпустила два набора правил обнаружения (threat detections), чтобы владельцы собственных инсталляций могли выявлять попытки эксплуатации CVE-2026-110264.

GitLab.com уже работает на исправленной версии. Клиентам GitLab Dedicated на версиях 19.3.5-internal0 и 19.4.2-internal0 или новее ничего делать не нужно: исправления в них уже есть.

Кроме критической, в релиз вошли ещё 11 исправлений безопасности. CVE-2026-15723 (CVSS 8.2): при одновременно включённых OmniAuth SAML и автопривязке LDAP аутентифицированный пользователь мог захватить существующую LDAP-учётную запись без каких-либо действий жертвы. CVE-2026-112212 (CVSS 7.5): отравление общего кэша в документе обнаружения OAuth/OIDC, позволявшее перенаправлять часть сценариев входа на внешне контролируемый сервер; найдена внутри GitLab сотрудником Peter Arts. CVE-2026-12664 (CVSS 6.8): токен с областью read_api мог получить адрес входящей почты проекта и создавать рабочие элементы в обход ограничений токена через поле GraphQL. CVE-2026-16255 (CVSS 5.9, только EE): неполное применение блокировки членства SAML/LDAP. Далее идут уязвимости с оценкой 4,3: раскрытие внутренних учётных данных сервера через заголовки ответов (CVE-2026-105777, без аутентификации), чтение метаданных вех (milestones) в чужих закрытых проектах через API групп (CVE-2026-13319) и доступ к платным ИИ-функциям без подписки (CVE-2026-112378, только EE, найдена внутри GitLab сотрудником Halil Coban). Остальные: утечка названия конфиденциальной задачи через кэш заголовков merge request (CVE-2026-105711, CVSS 3.5), обход политики одобрения merge request в EE (CVE-2026-14288, CVSS 3.1), удаление записей об уязвимостях пользователем с правами только на чтение в EE (CVE-2026-112326, CVSS 3.1, найдена сотрудником Gregory Havenga) и повторное включение владельцем группы передачи данных ИИ стороннему сервису при заблокированной администратором доступности Duo (CVE-2026-103515, CVSS 2.7, только EE).

GitLab напоминает свой порядок выпуска: плановые патч-релизы выходят дважды в месяц по второй и четвёртой средам, а внеплановые критические патчи делаются для особо опасных уязвимостей. Описания уязвимостей в трекере задач публикуются через 90 дней после релиза с исправлением. В списке исправленных ошибок версии 19.5.1 есть, среди прочего, патч переполнения идентификатора повтора в регулярных выражениях Ruby для версий 3.3, 3.4 и 4.0; списки для остальных версий в доступном тексте не приведены.

Ключевые факты

  • 21 октября 2026 года GitLab выпустила патч-версии 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 и 18.11.13 для CE и EE; самостоятельно развёрнутым установкам рекомендовано обновиться немедленно.
  • CVE-2026-110264 (CVSS 10.0): целочисленное переполнение в компиляторе регулярных выражений при определённых условиях позволяло неаутентифицированному пользователю выполнить произвольный код на сервере; затронуты все версии с 7.0.
  • Исправление перенесено в ветки 18.11, 19.0, 19.1 и 19.2; GitLab выпустила два набора правил обнаружения попыток эксплуатации для self-managed.
  • GitLab.com уже обновлена, клиентам Dedicated на 19.3.5-internal0 и 19.4.2-internal0 или новее действий не нужно.
  • Кроме критической, закрыты ещё 11 уязвимостей, от CVSS 8.2 (захват LDAP-аккаунта) до 2.7; описания уязвимостей в трекере откроют через 90 дней.

Почему это важно

Уязвимость с максимальной оценкой CVSS 10.0 в популярной платформе для хранения кода и CI затрагивает и CE, и EE и охватывает версии аж с 7.0. По вектору оценки атака идёт по сети, не требует ни прав, ни действий пользователя, а последствия, полная потеря конфиденциальности, целостности и доступности. Сервер GitLab обычно хранит исходный код и секреты, поэтому выполнение кода на нём, серьёзный риск. Сама компания относит релиз к критическим и просит обновляться немедленно.

Кому это важно

В первую очередь тем, кто сам разворачивает и обслуживает GitLab (self-managed): администраторам, DevOps-командам и службам безопасности. Затронуты все типы установок (omnibus, из исходников, helm-чарт и т. д.), если для продукта не указан конкретный тип. Пользователям GitLab.com действовать не нужно: сервис уже на исправленной версии. Клиентам GitLab Dedicated на 19.3.5-internal0 и 19.4.2-internal0 или новее тоже ничего делать не нужно.

Как это применить

Обновитесь до исправленной версии своей ветки: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 или 18.11.13. Для критической уязвимости исправлены все версии ниже этих номеров в соответствующих ветках; остальные исправления безопасности (кроме backport в 18.11-19.2) вошли в 19.3.6, 19.4.3 и 19.5.1. GitLab также выпустила два набора правил обнаружения попыток эксплуатации CVE-2026-110264 для self-managed, их названия и содержимое в доступном тексте не приведены. Какие-либо обходные меры, кроме обновления, в источнике не описаны.

Можно ли доверять

Источник, официальное уведомление GitLab о патч-релизе в её документации, то есть первоисточник; сторонней проверки уязвимостей в материале нет. Технических подробностей и условий эксплуатации («при определённых условиях») GitLab не раскрывает, примера атаки не приводит. Текст в доступном виде обрывается на списках исправленных ошибок, но раздел безопасности приведён полностью.

Риски и подводные камни

Подробности уязвимостей в трекере откроются только через 90 дней после релиза, а наличие у GitLab правил обнаружения попыток эксплуатации говорит о том, что компания считает такие попытки возможными; в источнике, впрочем, не сказано, что уязвимость используется в реальных атаках. Часть исправлений ограничена версиями: ветки старше 18.11 в списке не названы, и им нужно сначала перейти на поддерживаемую ветку. Часть уязвимостей касается только EE, а некоторые (например, захват LDAP-аккаунта) проявляются лишь при определённой конфигурации SAML и LDAP, поэтому по CVSS-оценке в одиночку приоритет обновления выбирать не стоит.