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

30 апреля, 2026, 14:00

Исследователи обнаружили критическую уязвимость (CVE-2026-3854) в GitHub, которая позволяла выполнить код на сервере одной командой. GitHub закрыл проблему в облачной версии за несколько часов, однако, по оценке экспертов, до 88% корпоративных установок GitHub Enterprise Server остаются не обновленными.

SecPost.ru

Обычная команда разработчика git push, с помощью которой отправляют код в репозиторий, в этом случае могла стать точкой входа для атаки — исследователи из компании Wiz показали, что уязвимость эксплуатируется именно через нее. GitHub — крупнейшая платформа для хранения и разработки кода, где размещаются как открытые, так и закрытые проекты компаний. Уязвимость позволяла встроить в стандартную команду дополнительные параметры и добиться выполнения кода на стороне сервера — GitHub сообщил, что устранил проблему после сообщения исследователей.

Механика атаки оказалась связана с тем, как GitHub обрабатывает команду git push. Вместе с кодом в ней передаются служебные параметры — например, информация о ветке и другие технические данные. В уязвимой версии часть этих параметров проверялась недостаточно строго. Злоумышленник мог встроить в них специальные символы и «дописать» свою команду. В результате сервер выполнял не только обычный git push, но и дополнительную команду атакующего — это классический сценарий command injection. Исследователи показали, что для атаки достаточно одной такой команды при наличии доступа на запись хотя бы в один репозиторий.

Критичность ситуации в облаке была связана с архитектурой GitHub. Обработка репозиториев происходит на общих узлах, и при успешной атаке злоумышленник мог получить доступ к данным других пользователей. По оценке Wiz, потенциально под угрозой находились миллионы репозиториев. GitHub признал проблему, оперативно развернул исправление 4 марта и заявил, что не обнаружил признаков эксплуатации и компрометации данных.

Однако на этом история не заканчивается. Уязвимость затрагивает не только GitHub.com, но и GitHub Enterprise Server — это версия платформы, которую компании устанавливают у себя внутри. В этом сегменте ситуация значительно хуже: исследователи обнаружили что на момент раскрытия до 88% таких установок оставались не обновленными.

Продолжение ниже

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

GitHub выпустил исправления для корпоративной версии 10 марта и рекомендовал администраторам как можно быстрее установить обновления — компания подчеркнула необходимость срочного патчинга, чтобы исключить риск компрометации серверов и утечки данных.

Подобные инциденты напрямую затрагивают цепочку разработки ПО. Если атакующий получает доступ к репозиториям, под угрозой оказываются не только исходные коды, но и ключи, токены и внутренняя логика продуктов. Ранее SecPost писал о похожем сценарии — когда в популярный пакет PyPI с 1,1 млн загрузок в месяц внедрили инфостилер для кражи ключей и токенов.

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

Словарь: Патч