22.10.2026 — CVE-2026-110264 — удаленное выполнение кода в GitLab из-за целочисленного переполнения в компиляторе регулярных выражений {#CVE-2026-110264}
Идентификатор CVE (CVE ID): CVE-2026-110264.
Ссылка на CVE: <https://nvd.nist.gov/vuln/detail/CVE-2026-110264>.
Исходный отчет {#original-report-CVE-2026-110264}
Бюллетень GitLab о CVE-2026-110264.
Краткое описание {#brief-description-CVE-2026-110264}
CVE-2026-110264 — уязвимость в GitLab CE/EE, которая позволяет неаутентифицированному пользователю при определенных условиях выполнить произвольный код на сервере GitLab. Причина — целочисленное переполнение при компиляции специально сформированного регулярного выражения.
Уязвимость находится в обработке файлов Org-mode (.org). GitLab отображает такие файлы с помощью gem-пакета org-ruby, который подставляет ключевое слово из строки #+TODO: (а также #+SEQTODO:, #+TYPTODO:) в регулярное выражение без экранирования. Ключевое слово с большим числом повторов приводит к переполнению 16-битного идентификатора повтора в движке регулярных выражений Ruby (Onigmo) и записи за пределами буфера при сопоставлении. Это позволяет выполнить команды от имени пользователя git.
Особенности атаки:
- не требует аутентификации — достаточно одного публичного проекта, в котором размещен вредоносный файл
.org; - при успешной эксплуатации дает доступ к секретам инстанса (
gitlab-secrets.json), переменным CI/CD, токенам раннеров и токенам доступа, а также ко всем репозиториям на инстансе; - может не оставлять явных следов: успешная эксплуатация не обязательно приводит к аварийному завершению процессов.
Затронутые технологии {#technologies-affected-CVE-2026-110264}
Уязвимость затрагивает следующие технологии:
- GitLab CE/EE, отображение файлов Org-mode (gem-пакет
org-ruby). - Движок регулярных выражений Ruby (Onigmo).
Уязвимые продукты и версии {#vulnerable-products-and-versions-CVE-2026-110264}
Уязвимы следующие версии GitLab CE/EE (верхняя граница каждого диапазона не включается):
- с 7.0 до 18.11.13;
- с 19.0 до 19.0.10;
- с 19.1 до 19.1.9;
- с 19.2 до 19.2.9;
- с 19.3 до 19.3.6;
- с 19.4 до 19.4.3;
- с 19.5 до 19.5.1.
Разработчик {#vendor-CVE-2026-110264}
GitLab Inc.
Вектор атаки и уровень опасности согласно CVSS v.3.1 {#attack-vector-and-severity-level-CVE-2026-110264}
Базовая оценка: 10,0 CRITICAL.
Вектор атаки:
<code>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H</code>
Рекомендации по обнаружению уязвимости и дополнительные материалы {#recommendations-for-vulnerability-detection-CVE-2026-110264}
Чтобы снизить риск эксплуатации и проверить инстанс:
- Как можно скорее обновите GitLab до одной из безопасных версий.
- До установки обновления по возможности ограничьте публичную видимость проектов: для эксплуатации без аутентификации нужен публичный файл
.org, который отображает GitLab. - Проверьте журналы инстанса на признаки попыток эксплуатации. Ниже приведены команды для установки через Omnibus; для других способов установки скорректируйте пути.
Серия таймаутов отображения файлов .org от одного клиента в exceptions_json.log:
<code> grep '"exception.class":"Timeout::Error"' /var/log/gitlab/gitlab-rails/exceptions_json.log* \
| grep '"extra.class_name":"OtherMarkup"' | grep -E '"extra.file_name":"[^"]*\.org"' \
| grep -o '"meta.client_id":"[^"]*"' | sort | uniq -c | sort -rn</code>
Аварийные завершения процессов Puma с упоминанием org-ruby или Onigmo в трассировке:
<code> grep -B1 -A20 '\[BUG\]' /var/log/gitlab/puma/puma_stderr.log* \
| grep -E 'org-ruby|headline\.rb|regexp_helper\.rb|match_at|onig_search_gpos|onig_compile|rb_str_sub_bang'</code>
Файлы .org с аномально длинной строкой #+TODO: в репозиториях:
<code> rg -l --glob '**/*.org' '^\#\+(TODO|SEQ_TODO|TYP_TODO):.{500,}'</code>
Отсутствие срабатываний не исключает успешной эксплуатации. При обнаружении признаков выполнения кода считайте инстанс скомпрометированным: выполните ротацию секретов из gitlab-secrets.json, переменных CI/CD, токенов раннеров и токенов доступа.
Правила обнаружения от GitLab:
Безопасная версия уязвимого продукта или патч {#safe-version-CVE-2026-110264}
Уязвимость устранена в GitLab CE/EE версий 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 и 18.11.13.
Влияние на сервисы Yandex Cloud {#impact-on-yandex-cloud-services-CVE-2026-110264}
На инстансах Yandex Managed Service for GitLab мы принудительно установили обновление безопасности, устраняющее уязвимость, независимо от настроек автоматического обновления. Дополнительных действий со стороны пользователей не требуется.
Если вы самостоятельно развернули GitLab на виртуальных машинах Yandex Cloud, обновите его до безопасной последней версии.