GitLab закрыла критическую уязвимость чтения файлов в API коммитов

GitLab выпустила исправления для CVE-2026-85706 с максимальной оценкой CVSS 10,0: ошибка в API коммитов репозитория способна при определённых условиях дать неавторизованному пользователю доступ к произвольным файлам сервера. Проблема затрагивает GitLab Community Edition и Enterprise Edition; watchTowr зафиксировала внешние проверки уязвимых систем с 06:00 UTC 11 сентября 2026 года.
Какие версии необходимо обновить
Уязвимыми названы все релизы ветки 18.7 до 19.1.8, ветки 19.2 до 19.2.6 и ветки 19.3 до 19.3.2. GitLab включила исправление в версии 19.1.8, 19.2.6 и 19.3.2.
Компания связывает CVE-2026-85706 с некорректным ограничением путей и отсутствием принудительной аутентификации в API коммитов репозитория. Это вариант path traversal: запрос может быть сформирован так, чтобы сервер прочитал файл за пределами ожидаемого пути.
Почему ошибка привлекает атакующих
По оценке watchTowr, внешний атакующий может получить журналы и конфигурационные файлы GitLab. В них могут находиться учётные данные, секреты и другая чувствительная информация. Для эксплуатации, как отмечает руководитель отдела threat intelligence watchTowr Джейк Нотт, достаточно наличия хотя бы одного публичного проекта.
Доступ к таким данным создаёт риск раскрытия исходного кода, секретов CI/CD и реквизитов доступа. После этого атакующий может попытаться вмешаться в конвейеры сборки, поэтому публично доступные self-managed-инстансы требуют первоочередной проверки.
Ещё одно исправление для GitLab EE
В тех же версиях GitLab исправила CVE-2026-87719 с оценкой CVSS 9,9. Эта критическая ошибка небезопасной десериализации касается только GitLab EE: пользователь с доступом к Duo Chat мог через специально сформированный аргумент GraphQL-подписки обойти сериализацию и выполнить поиск объектов сервера.
Последствием может стать раскрытие конфигураций экземпляра Advanced Search и чувствительных учётных данных. Для этого сценария, в отличие от CVE-2026-85706, требуется аутентифицированный пользователь с доступом к Duo Chat.
Что проверить администраторам
GitLab рекомендует владельцам self-managed-инстансов, доступных из интернета, как можно скорее установить обновления. Если обновление пока невозможно, следует ограничить публичный доступ, когда он не нужен для работы.
watchTowr также предлагает изучить журналы на HTTP POST-запросы к URI вида /api/v4/projects/{id}/repository/commits/, содержащие параметр file.Path. Для бизнеса практический порядок действий — обновить инстансы до защищённых версий, временно сократить внешний доступ и проверить логи на указанные признаки попыток эксплуатации.

