24 уязвимости в GitLab, одна из них позволяет выполнить код на сервере без аутентификации

GitLab

Ветки 19.2, 19.3 и 19.4 сервера GitLab содержат 24 уязвимости. Часть из них открывает путь к выполнению кода, обходу проверок прав и утечке данных. Исправления собраны в версиях 19.2.8, 19.3.4 и 19.4.2, которые вышли 12 октября 2026 года. Затронуты самостоятельно развёрнутые установки Community Edition и Enterprise Edition. Облачный GitLab.com уже работает на исправленной сборке, а пользователям GitLab Dedicated обновление не требуется.

Что исправляют в GitLab 19.2.8, 19.3.4 и 19.4.2

Самая тяжёлая проблема носит номер CVE-2026-97229. Это целочисленное переполнение в компиляторе регулярных выражений CI/CD. Конвейер представляет собой набор команд, который GitLab запускает автоматически, а регулярные выражения описывают шаблоны для поиска и сверки строк. В настройках конвейера такие шаблоны встречаются постоянно. Проверку выражений разработчики сделали слишком мягкой. Пользователь без учётной записи отправляет в GitLab подготовленное выражение и получает возможность выполнить произвольный код на сервере. Рейтинг по шкале CVSS достигает 10.0 из 10, уровень Critical. Ни регистрация, ни действия жертвы злоумышленнику не нужны. Ошибку нашли через программу выплат за сообщения об уязвимостях HackerOne.

Правки для проверок доступа и конвейеров

Вторая группа касается разграничения прав. CVE-2026-92883 получила 8.7 балла и относится к межсайтовому скриптингу в подсветке синтаксиса. Пользователь с учётной записью создаёт репозиторий, содержимое которого выполняет код в браузере других людей, как только они открывают страницу. Ещё одна ошибка позволяет разработчику запускать конвейеры на защищённых ветках, хотя прав на это у него нет. Третья связана со слишком мягким регулярным выражением при доступе к файлам репозитория. Атакующий подменяет кэшированные ответы для сырых файлов, а конвейеры других пользователей выполняют подготовленное им содержимое. В результате в чужие руки попадают защищённые переменные окружения.

Отдельно в бюллетене описаны проблемы сборки Enterprise Edition. В записях политики выполнения плановых конвейеров не выполняется очистка при передаче проекта между группами, поэтому пользователь запускает конвейеры в новом окружении с правами принимающей стороны. Оценка такой ошибки составляет 7.7. Вторая уязвимость затрагивает GitLab Duo Agent Platform. Подготовленный текст в инструкциях для ИИ-агента приводит к выполнению команд от имени других сотрудников. Обе проблемы нашли специалисты GitLab при внутреннем аудите.

Остальные уязвимости в списке

Шестнадцать записей получили от 2.7 до 6.2 балла. Токены и другие секреты попадали в журналы GitLab Pages, а доступ к ним есть у части сотрудников. Прокси Kubernetes отправлял токены аутентификации на посторонний сервер из-за слабой проверки перенаправлений. Несколько ошибок в GraphQL API (язык запросов, через который клиенты получают данные GitLab) позволяли незарегистрированному человеку читать закрытые заметки на публичных проектах и содержимое элементов работы в приватных группах. Кэш страниц запросов на слияние можно было отравить и подсунуть другим людям чужой текст. Ещё ряд проблем связан с реестром пакетов, метками проектов, настраиваемыми ролями и персональными токенами доступа с узкой областью действия. Здесь злоумышленнику чаще всего требовалась учётная запись с минимальными правами.

Что делать администраторам

Самостоятельно развёрнутые экземпляры обновляют до 19.4.2, 19.3.4 или 19.2.8, выбирая версию по своей ветке. Для 19.3.4 есть оговорка. При включённой интеграции Ona ломаются страницы запросов на слияние, исправление выйдет в 19.3.5. Если эта функция нужна, разумнее ставить 19.4.2 или 19.2.8. Автоматические обновления GitLab.com и GitLab Dedicated вмешательства не требуют. Администратору достаточно сверить номер своей ветки со списком исправленных выпусков.

GitLab раскрывает технические подробности каждой уязвимости через 90 дней после выпуска с исправлением, то есть примерно в начале января 2027 года. Плановые выпуски безопасности выходят дважды в месяц, по вторым и четвёртым средам. Часть закрытых проблем присутствовала в продукте с версий 10.3 и 12.0, то есть несколько лет. Для самостоятельно развёрнутых установок с доступом из интернета установка патча остаётся единственной мерой защиты.

Ссылки

Комментарии: 0