tag

CVE-2026-97229

1 статья с этим тегом

2026-10-25

GitLab CVE-2026-110264 (CVSS 10.0) и эксплуатируемая CVE-2026-97229: как проверить и обновить самостоятельно развёрнутый GitLab

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). Самая серьёзная уязвимость, CVE-2026-110264 (CVSS 10.0), представляет собой целочисленное переполнение при компиляции специально сформированного регулярного выражения, которое при определённых условиях может позволить неаутентифицированному пользователю выполнить произвольный код на сервере GitLab. Затронуты почти все версии начиная с 7.0. 29 октября CISA добавила родственную уязвимость CVE-2026-97229 (CVSS 10.0, CWE-190) в каталог известных эксплуатируемых уязвимостей (KEV) со сроком 1 ноября. Это ошибка того же рода (целочисленное переполнение в компиляторе регулярных выражений CI/CD, доступное неаутентифицированному пользователю); GitLab исправил её раньше, 12 октября, в версиях 19.4.2, 19.3.5 и 19.2.8, и затронуты только 19.2.0–19.2.7, 19.3.0–19.3.4 и 19.4.0–19.4.1. Кто всё ещё на версиях ниже 19.4.2, 19.3.5 или 19.2.8, подвержен эксплуатируемой уязвимости. Обновление до рекомендованных здесь версий (19.5.1, 19.4.3, 19.3.6, 19.2.9) исправляет и CVE-2026-97229. GitLab.com уже исправлен; самостоятельно развёрнутые установки нужно обновить. Тот же выпуск от 21 октября исправляет две уязвимости высокой степени серьёзности (CVSS 8.2 и 7.5) и другие, но эти исправления есть только в ветках 19.3.6, 19.4.3 и 19.5.1. Корень проблемы — в движке регулярных выражений Ruby (Onigmo); 23 октября Ruby выпустил 4.0.9, 3.4.12 и 3.3.13. Затронуты приложения, которые компилируют regexp из строк, контролируемых злоумышленником, а Regexp.timeout от этих ошибок не защищает. В уведомлениях GitLab не сказано, что CVE-2026-110264 эксплуатировалась, и на 30 октября её нет в KEV. Alpine Linux сообщила, что на ее собственном GitLab 20 и 21 октября была попытка атаки через CVE-2026-97229 и что одно лишь обновление GitLab (до 19.3.6) не закрыло уязвимость, потому что для исправления нужен был еще и пропатченный Ruby; она пересобрала инстанс и не нашла свидетельств того, что код злоумышленника выполнялся. Вывод этого сайта: обновите самостоятельно развёрнутый GitLab сегодня, проверив обязательные остановки, доведите установку до 19.3.6 или новее, а если вы собираете GitLab сами или используете собственный Ruby, проверьте, что и Ruby не ниже 3.3.13, 3.4.12 или 4.0.9. Ruby-приложениям нужно перейти на исправленный Ruby и перестать формировать regexp из пользовательского ввода.