Угрозы

Один git push давал доступ к миллионам репозиториев

Маша Даровская
By Маша Даровская , IT-редактор и автор
Один git push давал доступ к миллионам репозиториев
Обложка © Anonhaven

В инфраструктуре GitHub обнаружили критическую уязвимость CVE-2026-3854, которая позволяла выполнять произвольный код на серверах платформы через обычную команду git push. Проблема затрагивала как GitHub.com, так и GitHub Enterprise Server.

Уязвимость нашла команда Wiz. Исследователи показали: достаточно иметь доступ к любому репозиторию, даже созданному самим атакующим, чтобы запустить код на бэкенд-серверах GitHub.

Механика атаки строилась на ошибке обработки данных во внутреннем протоколе Git. При передаче параметров через git push сервер некорректно обрабатывал специальные символы. Это открывало возможность внедрить дополнительные поля и изменить поведение внутренних сервисов.

После успешной эксплуатации атакующий получал доступ к инфраструктуре GitHub. В худшем сценарии это давало возможность выполнения команд на сервере, доступа к внутренним данным, чтению и изменению чужих репозиториев

Для GitHub Enterprise Server последствия были ещё серьёзнее — полный компромисс сервера с доступом ко всем проектам и секретам.

На GitHub[.]com ситуация осложнялась архитектурой хранения: уязвимость позволяла выполнять код на общих узлах хранения, где размещаются данные разных пользователей. Исследователи подтвердили, что в таком состоянии были доступны миллионы публичных и приватных репозиториев.

Отдельная деталь — простота эксплуатации. В отчётах подчёркивается, что для атаки не требовались сложные цепочки действий или редкие условия. Достаточно стандартного клиента Git и одной команды push с подготовленным параметром.

GitHub получил отчёт через bug bounty 4 марта 2026 года и отреагировал быстро. Уязвимость подтвердили в течение десятков минут и закрыли на основной платформе менее чем за несколько часов. Параллельно выпустили обновления для корпоративных версий.

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

Тем не менее риск был максимальный. Любой пользователь с доступом к push мог использовать уязвимость. Ограничение по аутентификации в данном случае почти не снижало угрозу, так как создать собственный репозиторий может любой зарегистрированный пользователь.

Эксперты отдельно обращают внимание на архитектурную причину: ошибка возникла в точке, где пользовательские данные пересекаются с внутренними протоколами. Такие места считаются критическими, так как одна ошибка обработки может привести к выполнению кода на уровне всей платформы.

Есть новость? Станьте автором.

Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.

Вопросы по теме

Что произошло?
В GitHub нашли критическую уязвимость, позволяющую выполнять код на серверах через git push.
Нужно ли было иметь доступ к системе?
Да, но достаточно обычного аккаунта.
Что можно было сделать через эту уязвимость?
Получить доступ к инфраструктуре, читать и изменять репозитории, выполнять команды на сервере.
Уязвимость использовали в атаках?
Подтверждений эксплуатации нет.
Исправление уже есть?
Да, GitHub закрыл проблему в течение нескольких часов и выпустил патчи.