Один запрос к GitLab способен выйти далеко за пределы репозитория. Компания выпустила исправления для критической уязвимости обхода пути в API коммитов, которая при определённых условиях позволяет удалённому неавторизованному атакующему читать произвольные файлы на сервере. Владельцам self-managed-инсталляций рекомендуют обновиться немедленно.
Проблема получила идентификатор CVE-2026-85706 и максимальные 10,0 балла по CVSS 3.1. Причина сочетает неправильное ограничение файловых путей и отсутствие обязательной проверки аутентификации в repository commits API. При обходе пути специально сформированное значение заставляет приложение обратиться к файлу за пределами ожидаемого каталога.
Уязвимы GitLab CE и EE начиная с версии 18.7 и до 19.1.7 включительно, ветка 19.2 до 19.2.5 и ветка 19.3 до 19.3.1. Исправления вошли в версии 19.1.8, 19.2.6 и 19.3.2. GitLab.com уже работает на защищённой версии, а клиентам GitLab Dedicated никаких действий не требуется. Срочное обновление касается прежде всего серверов, которыми организации управляют самостоятельно.
GitLab пока не раскрывает точные условия, необходимые для чтения файлов, и не публикует технические детали дефекта. Связанный с уязвимостью issue компания планирует открыть через 90 дней после выпуска исправления. Данных о реальной эксплуатации в официальном бюллетене нет. Ошибку обнаружил участник программы вознаграждения под псевдонимом s3ntago и передал сведения через HackerOne.
Для GitLab это уже вторая заметная критическая проблема за несколько недель. В августе компания уже закрывала CVE-2026-19478 с оценкой 9,4, которая также затрагивала self-managed CE/EE и позволяла атаковать публичные проекты без учётной записи. CVE-2026-85706 получила более высокий рейтинг и затрагивает файловую систему самого сервера.
В том же выпуске GitLab исправила ещё 17 проблем. Среди них выделяется CVE-2026-87719 с оценкой 9,9 по CVSS 3.1: пользователь GitLab EE с доступом к Duo Chat при определённых условиях мог получить конфигурацию Advanced Search и чувствительные учётные данные через небезопасную десериализацию GraphQL. Для обеих критических уязвимостей исправленные версии совпадают.
