GitHub устранила критическую уязвимость с доступом к миллионам частных репозиториев

08.05.2026

На GitHub закрыли критическую дыру, из‑за которой можно было удалённо запускать код (CVE-2026-3854). Если бы её использовали, злоумышленники могли бы получить доступ к миллионам приватных репозиториев.

О проблеме сообщили исследователи компании Wiz через программу багбаунти GitHub. По словам CISO GitHub Алексис Уэльс, команда безопасности смогла быстро воспроизвести и подтвердить уязвимость — примерно за 40 минут — а исправление выкатили меньше чем через два часа после сообщения.

CVE-2026-3854 касается GitHub, GitHub Enterprise Cloud, варианта Enterprise Cloud с Data Residency, Enterprise Cloud с Enterprise Managed Users, а также GitHub Enterprise Server. Чтобы воспользоваться уязвимостью, хватало одного специально подготовленного «git push»: пользователь с правами на отправку данных мог получить полный доступ на чтение и запись к приватным репозиториям на GitHub.com или к уязвимым серверам GitHub Enterprise.

Суть проблемы была в том, как GitHub обрабатывал параметры, которые пользователь передаёт при git push. Эти значения попадали во внутренние метаданные сервера без нормальной проверки, из‑за чего можно было «подсунуть» дополнительные поля, которым затем доверял другой сервис. Уэльс объяснил, что злоумышленник мог собрать несколько таких внедрённых значений, обойти песочницу и выполнить на сервере произвольный код во время обработки push. В Wiz подчеркнули, что такая атака теоретически могла привести к утечке кодовой базы почти у всех крупнейших компаний, поэтому уязвимость назвали одной из самых тяжёлых среди SaaS, которые когда‑либо находили.

В Wiz также уточнили, что на GitHub.com эта проблема открывала путь к удалённому выполнению кода на узлах общего хранилища. Исследователи подтвердили, что на затронутых узлах были доступны миллионы публичных и приватных репозиториев других пользователей и организаций. А на GitHub Enterprise Server тот же баг мог привести к полной компрометации сервера — со всеми размещёнными репозиториями и внутренними секретами.

Цадик отдельно предупредил: хотя на GitHub уязвимость закрыли в течение 6 часов, администраторам GitHub Enterprise Server (GHES) стоит обновиться как можно быстрее, потому что примерно 88% доступных экземпляров GHES всё ещё остаются уязвимыми.

При этом, несмотря на серьёзность проблемы, криминалистическая проверка не нашла признаков того, что уязвимость использовали до публикации. В GitHub добавили, что телеметрия это подтверждает.

Уэльс также сказал, что для GitHub Enterprise Server подготовили патчи для всех поддерживаемых версий (3.14.25, 3.15.20, 3.16.16, 3.17.13, 3.18.8, 3.19.4, 3.20.0 и новее) и опубликовали информацию по CVE-2026-3854. Обновления уже доступны, и клиентам GHES советуют не тянуть и обновиться сразу.

Осенью в Wiz ещё разбирали атаку на цепочку поставок NPM, связанную с Nx и названием «s1ngularity»: тогда украли тысячи токенов аккаунтов и секретов репозиториев.

Nx — это популярный open-source инструмент сборки и управления монорепозиториями, который часто используют в корпоративной среде JavaScript/TypeScript. По данным NPM, у пакетов Nx больше 5,5 млн загрузок в неделю.

Как описывали исследователи, 26 августа 2025 года атакующие воспользовались уязвимостью в процессе GitHub Actions в репозитории Nx и выпустили в NPM вредоносную версию пакета. В неё добавили скрипт, который запускался после установки (telemetry.js). Этот telemetry.js работал как похититель учётных данных для Linux и macOS: он пытался вытащить токены GitHub и npm, SSH-ключи, файлы .env, данные криптокошельков, а затем выгрузить украденное в публичные репозитории GitHub с названием «s1ngularity-repository».