Услуги Портфолио Контакты БлогНовости +7 (800) 511‑32‑27 Обсудить проект
Безопасность

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

12 сентября 2026·6 мин чтения
CVE-2026-85706CISA KEV
GitLab закрыла уязвимость CVSS 10: чтение файлов сервера через API коммитов

Коротко о главном

10 сентября 2026 года GitLab выпустила экстренные обновления, закрывающие CVE-2026-85706 — уязвимость обхода пути (path traversal) в API коммитов репозитория с максимальным баллом CVSS 10.0. Из-за некорректного ограничения пути и отсутствующей проверки аутентификации неаутентифицированный злоумышленник может одним HTTP-запросом прочитать произвольные файлы на self-hosted-сервере GitLab CE и EE. Достаточно, чтобы на инстансе существовал хотя бы один публичный проект. Исправление — в версиях 19.3.2, 19.2.6 и 19.1.8; обновляться нужно немедленно.

Для команд, которые держат исходный код и CI/CD в собственном GitLab, это прямая угроза цепочке поставки ПО: через уязвимость читаются логи и конфигурационные файлы, а значит — токены, секреты и учётные данные интеграций. Мы рекомендуем закрыть баг в один день и параллельно поднять вопрос информационной безопасности всего DevOps-контура, а не одного сервера.

Ситуацию обостряют два фактора. Уже 11 сентября 2026 года CISA внесла CVE-2026-85706 в каталог известных эксплуатируемых уязвимостей (KEV), а исследователи зафиксировали массовое сетевое сканирование инстансов. Если патч по каким-то причинам откладывается — как минимум ограничьте сетевой доступ к GitLab и заложите аудит кода и зависимостей в регламент реагирования.

Что именно произошло

GitLab — одна из самых распространённых self-hosted-платформ для хранения кода, ревью и CI/CD. Уязвимость находится в API коммитов репозитория: механизм, который должен удерживать запрос в границах разрешённой директории, обрабатывает путь неполно, а требуемая аутентификация в этом сценарии не применяется. В результате запрос «выходит» за пределы репозитория и адресует произвольные файлы файловой системы, доступные процессу GitLab.

Корень проблемы исследователи описывают как сочетание неправильного ограничения пути (improper path confinement) и отсутствующего контроля доступа. Для атаки не нужны ни учётная запись, ни особые привилегии, ни взаимодействие с пользователем — только сетевой доступ к инстансу и наличие на нём хотя бы одного публичного проекта, чтобы обратиться к соответствующему эндпоинту. Одного HTTP-запроса достаточно, чтобы получить содержимое целевого файла.

Насколько это серьёзно

CVSS 10.0 — это максимально возможный балл, и он здесь не преувеличение. Сетевой вектор, низкая сложность, отсутствие предусловий и участия пользователя означают, что эксплуатация тривиальна и автоматизируема в масштабе. По данным исследователей из watchTowr, активные попытки обращения к уязвимому эндпоинту начались около 06:00 UTC 11 сентября 2026 года — фактически на следующий день после выхода патча.

Опаснее всего не сам факт чтения файла, а то, что именно читается. Процессу GitLab доступны логи и конфигурационные файлы платформы, в которых регулярно оседают токены доступа, параметры интеграций и учётные данные подключённых систем. Получив их, злоумышленник переходит от «чтения файла» к компрометации CI/CD-пайплайнов, реестров артефактов и связанных облачных сервисов. Для организации это классический сценарий атаки на цепочку поставки, где одна дыра в инструменте разработки открывает доступ к продакшену.

В том же цикле обновлений GitLab закрыла и вторую серьёзную проблему — CVE-2026-87719 (CVSS 9.9), небезопасную десериализацию в GitLab EE, затрагивающую пользователей Duo Chat. Она требует отдельного внимания при планировании обновления, хотя первичный приоритет по эксплуатации сейчас — именно path traversal.

Кто под угрозой и что уже подтверждено

Уязвимы self-hosted-инсталляции GitLab Community Edition и Enterprise Edition следующих диапазонов версий: с 18.7 по 19.1.7 включительно, с 19.2.0 по 19.2.5 и с 19.3.0 по 19.3.1. Исправленные версии — 19.1.8, 19.2.6 и 19.3.2. Управляемый GitLab.com патчится вендором на своей стороне; ответственность за самостоятельно развёрнутые серверы лежит на их владельцах.

Хронология сжата до предела: 10 сентября 2026 года вышли исправленные релизы, 11 сентября CISA добавила CVE-2026-85706 в каталог KEV и установила для федеральных гражданских ведомств США срок устранения до 14 сентября 2026 года. Тогда же зафиксированы сетевые сканы. Внесение в KEV — это не формальность, а подтверждённый сигнал того, что уязвимость эксплуатируется в реальных атаках; ориентируйтесь на него как на официальный дедлайн и для себя.

Что это значит для команд разработки

Главный урок шире одного CVE: система хранения кода — это критический актив, а не «внутренний инструмент». GitLab, GitHub Enterprise, Bitbucket, реестры артефактов и раннеры CI аккумулируют секреты всей организации, поэтому одна уязвимость чтения файлов в них по последствиям сопоставима с компрометацией продакшена. Обращаться с этим слоем нужно как с внешним периметром: своевременные патчи, минимум сетевой экспозиции, короткоживущие секреты.

Отсюда практические выводы. Инструменты разработки не должны быть доступны из интернета без явной необходимости — ограничьте их VPN, allow-list по IP или reverse-proxy с аутентификацией. Секреты в CI/CD храните в специализированном менеджере с ротацией, а не в конфигах и переменных, которые оседают в логах. И держите инвентарь версий self-hosted-инфраструктуры, чтобы на выход подобного патча реагировать за часы, а не за недели.

Как действовать прямо сейчас

Обновите GitLab до 19.3.2, 19.2.6 или 19.1.8 (в зависимости от вашей ветки) на всех self-hosted-инстансах — это единственная полноценная мера, вендор не предлагает эквивалентного обходного решения.

Если немедленный патч невозможен, временно ограничьте сетевой доступ к серверу GitLab: закройте его от интернета, оставьте доступ только доверенным сетям. Это снижает риск, но не заменяет обновление.

Проверьте, не была ли инсталляция уязвима и доступна извне до патча. Если да — исходите из того, что доступные процессу GitLab секреты могли быть прочитаны, и выполните ротацию токенов, ключей и учётных данных интеграций.

Проанализируйте логи веб-сервера и приложения на аномальные обращения к API коммитов и попытки обхода пути. Отдельно запланируйте обновление, закрывающее CVE-2026-87719, если используете GitLab EE и Duo Chat.

Часто задаваемые вопросы

Какие версии GitLab уязвимы? Self-hosted CE и EE с 18.7 по 19.1.7, с 19.2.0 по 19.2.5 и с 19.3.0 по 19.3.1. Исправление — в 19.1.8, 19.2.6 и 19.3.2.

Нужна ли злоумышленнику учётная запись? Нет. Атака не требует аутентификации и привилегий — достаточно сетевого доступа к инстансу и наличия на нём хотя бы одного публичного проекта.

Что может прочитать атакующий? Произвольные файлы, доступные процессу GitLab, включая логи и конфигурации, где нередко хранятся токены, секреты и учётные данные интеграций.

Эксплуатируется ли уязвимость в реальных атаках? Да. CISA внесла CVE-2026-85706 в каталог KEV 11 сентября 2026 года, а исследователи зафиксировали сетевое сканирование уязвимых инстансов вскоре после выхода патча.

Затронут ли GitLab.com? Управляемый сервис патчится вендором на своей стороне. Приоритетное действие требуется владельцам самостоятельно развёрнутых серверов.

Источники

GitLab — Security Release: критические уязвимости в GitLab CE/EE, включая CVE-2026-85706 (первоисточник вендора), 10 сентября 2026 года.

CISA — Known Exploited Vulnerabilities Catalog: добавление CVE-2026-85706, срок устранения 14 сентября 2026 года.

The Hacker News — GitLab CVSS 10 File-Read Flaw Draws In-the-Wild Probes After Disclosure, 2026.

watchTowr — Rapid Reaction: GitLab Critical Path Traversal Vulnerability (CVE-2026-85706), 2026.

Материал подготовлен редакцией YuSMP Group по открытым источникам. Нужна экспертиза по теме или разработка под задачу — обсудим проект.

Защитите свой DevOps-контур и цепочку поставки ПО

Проведём аудит безопасности инфраструктуры разработки — GitLab, CI/CD, управление секретами и сетевой периметр — и поможем закрыть критические уязвимости раньше, чем их найдут сканеры.

Аудит информационной безопасности