GitLab выпустил экстренные обновления безопасности, устраняющие несколько уязвимостей, включая CVE-2026-85706 с максимальной оценкой CVSS 10.0 — уязвимость обхода пути (path traversal) в API коммитов репозитория, позволяющую неаутентифицированному злоумышленнику читать произвольные файлы с сервера GitLab. Затронуты обе редакции — Community Edition и Enterprise Edition — начиная с версии 18.7. По данным компании watchTowr, сканирование уязвимых экземпляров началось в течение нескольких часов после публичного раскрытия. Администраторам самоуправляемых инсталляций GitLab с доступом из интернета необходимо немедленно обновиться до версий 19.1.8, 19.2.6 или 19.3.2.
Технические детали CVE-2026-85706
Уязвимость CVE-2026-85706 относится к классу CWE-22 (обход пути) и вызвана, по описанию GitLab, некорректным ограничением путей и отсутствием проверки аутентификации в API коммитов репозитория. Это означает, что при определённых условиях внешний злоумышленник может без каких-либо учётных данных получить содержимое произвольных файлов на сервере.
Согласно записи в GitHub Advisory Database, уязвимость затрагивает следующие версии GitLab CE и EE:
- Все версии начиная с 18.7 до 19.1.8 (не включая)
- Все версии начиная с 19.2 до 19.2.6 (не включая)
- Все версии начиная с 19.3 до 19.3.2 (не включая)
По данным watchTowr, эксплуатация позволяет получить доступ к журналам и конфигурационным файлам GitLab, содержащим учётные данные, секреты и другую чувствительную информацию. Единственным необходимым условием, как сообщается, является наличие хотя бы одного публичного проекта на целевом экземпляре.
Вторая критическая уязвимость: CVE-2026-87719
В том же обновлении GitLab устранил ещё одну критическую уязвимость — CVE-2026-87719 с оценкой CVSS 9.9. Это ошибка небезопасной десериализации (CWE-502), затрагивающая только GitLab Enterprise Edition.
Согласно описанию в GitHub Advisory Database, уязвимость позволяет аутентифицированному пользователю с доступом к Duo Chat получить конфигурации Advanced Search и чувствительные учётные данные через специально сформированный аргумент подписки GraphQL, обходя сериализацию и выполняя поиск серверных объектов. Затронуты версии GitLab EE начиная с 18.3 до 19.1.8, с 19.2 до 19.2.6 и с 19.3 до 19.3.2.
Принципиальное различие между двумя уязвимостями — в границах воздействия. CVE-2026-85706 затрагивает обе редакции (CE и EE) и не требует аутентификации, что делает её более опасной для интернет-доступных инсталляций. CVE-2026-87719 ограничена Enterprise Edition и требует аутентифицированного доступа к Duo Chat, что существенно сужает круг потенциальных атакующих.
Контекст: серия критических уязвимостей GitLab
Это уже не первая критическая уязвимость GitLab за последние недели. Ранее была раскрыта CVE-2026-19478 — уязвимость инъекции кода через GraphQL с оценкой CVSS 9.4, позволявшая неаутентифицированному пользователю модифицировать или удалять публичные проекты и пользовательские данные через директиву GraphQL. Мы уже писали об этой уязвимости. Для CVE-2026-19478 существует публичный репродукционный стенд, описывающий два вектора атаки через фильтры версий GraphQL. При этом утверждения о немедленной активной эксплуатации CVE-2026-19478 в дикой природе не были независимо подтверждены — наличие публичного PoC само по себе не является доказательством массовой эксплуатации.
Аналогичная осторожность уместна и в отношении CVE-2026-85706: заявление watchTowr о начале сканирования 11 сентября 2026 года в 06:00 UTC передано через новостной источник, и независимого подтверждения от других наблюдателей или CISA на момент публикации не обнаружено. Тем не менее сам характер уязвимости — неаутентифицированное чтение файлов с максимальным CVSS — делает быстрое появление сканирования весьма вероятным.
Оценка воздействия
Привлекательность GitLab как цели для атакующих очевидна: несанкционированный доступ открывает путь к исходному коду, секретам CI/CD-конвейеров, учётным данным и возможности внедрения кода в сборочные пайплайны. Компрометация GitLab-сервера может привести к атакам на цепочку поставок — всё, что находится «ниже по потоку» от заражённого конвейера, оказывается под угрозой.
Наибольшему риску подвержены организации, эксплуатирующие самоуправляемые экземпляры GitLab с доступом из интернета, особенно при наличии публичных проектов.
Рекомендации
- Немедленное обновление: установите версии 19.3.2, 19.2.6 или 19.1.8 в зависимости от используемой ветки. Приоритет патчирования CVE-2026-85706 выше, чем CVE-2026-87719, из-за отсутствия требования аутентификации.
- Ограничение доступа: если немедленное обновление невозможно, ограничьте публичный доступ к экземпляру GitLab.
- Проверка журналов: по рекомендации watchTowr, проанализируйте журналы на наличие HTTP POST-запросов к URI вида
/api/v4/projects/{id}/repository/commits/, содержащих параметрыfile.Path, — это может указывать на попытки эксплуатации. - Ротация секретов: если экземпляр был доступен из интернета в уязвимой конфигурации, рассмотрите ротацию учётных данных и секретов, хранящихся в конфигурационных файлах GitLab.
Три критические уязвимости GitLab за короткий период формируют устойчивую тенденцию, требующую от администраторов самоуправляемых инсталляций пересмотра подхода к управлению обновлениями. Конкретное действие сейчас — обновление до версий 19.3.2, 19.2.6 или 19.1.8 и проверка журналов API коммитов на признаки попыток эксплуатации CVE-2026-85706.