Cайт веб-разработчика, программиста Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Исследователи нашли в GitHub дыру, масштаб которой сложно переоценить

Обычная команда git push неожиданно оказалась куда опаснее, чем принято считать. В инфраструктуре GitHub нашли уязвимость, которая превращала привычную операцию с кодом в потенциальную точку атаки.

Проблему обнаружила команда компании Wiz и передала через программу вознаграждений за найденные ошибки 4 марта 2026 года. Уже через 40 минут специалисты внутри GitHub смогли воспроизвести атаку и подтвердили критический уровень опасности. Спустя менее двух часов компания выпустила исправление для основной платформы и начала проверку журналов.

Суть уязвимости оказалась в том, как система обрабатывает параметры команды git push. При отправке кода клиент может передать дополнительные значения в формате «ключ-значение». Такие данные попадают во внутренние служебные сообщения между компонентами платформы. Проверка этих значений оказалась недостаточной. Злоумышленник мог подставить специальный символ-разделитель и добавить в служебные данные свои поля, которые система принимала за доверенные.

Дальше атака развивалась по цепочке. Подставленные значения позволяли изменить среду обработки операции, обойти ограничения изолированной среды и в итоге выполнить команды на сервере GitHub. Теперь, после исправления, пользовательские параметры очищаются и не влияют на внутренние данные. Для корпоративной версии GitHub Enterprise Server выпустили обновления, уязвимости присвоили идентификатор CVE-2026-3854.

После устранения проблемы команда проверила, успел ли кто-то воспользоваться уязвимостью. Атака оставляет характерный след. Сервер вынужден перейти в редкий режим работы, который не встречается при обычной эксплуатации. Анализ журналов показал, что такие случаи связаны только с тестами со стороны специалистов. Следов реальных атак не нашли, данные пользователей не пострадали.

В ходе разбора выяснилась ещё одна деталь. В серверном окружении присутствовал фрагмент кода, который не должен был там находиться. Он остался после изменения процесса развёртывания. Этот участок тоже удалили, чтобы сократить возможные последствия подобных ошибок в будущем. Облачные версии GitHub уже обновлены и не требуют действий со стороны пользователей. Владельцам GitHub Enterprise Server рекомендуют как можно скорее установить свежие версии и проверить журналы на подозрительные команды с символом «;» в параметрах отправки.

SecurityLab