Бесплатно Экспресс-аудит сайта:

14.09.2023

Репозитории под угрозой: как GitHub чуть не допустил массового захвата кода

На платформе GitHub была обнаружена новая уязвимость, которая может подвергнуть риску тысячи репозиториев. Уязвимость позволяет злоумышленникам эксплуатировать так называемое «состояние гонки» ( «Race Condition» ) в процессе создания репозитория и смены имени пользователя.

Элад Рапопорт, исследователь безопасности из Checkmarx, заявил следующее: «Успешная эксплуатация данной уязвимости затрагивает открытое программное обеспечение, позволяя захватить более 4000 пакетов кода на языках Go , PHP и Swift , а также GitHub Actions» .

После ответственного раскрытия уязвимости 1 марта 2023 года, подконтрольная Microsoft платформа для хостинга кода устранила проблему 1 сентября 2023 года, поэтому сейчас пользователям GitHub ничего не угрожает.

Термин «RepoJacking» (захват репозитория) описывает технику, при которой потенциальный злоумышленник может обойти механизм безопасности хостинг-платформы и получить контроль над желаемым репозиторием.

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

Схема и потенциальный ущерб атаки

Существующая защита, введённая сервисом ещё в 2018 году, предотвращает создание нового репозитория с тем же именем, если у репозитория уже есть более 100 клонов в момент переименования аккаунта пользователя. Однако, как выяснилось, этот защитный механизм можно было обойти благодаря вышеописанной уязвимости.

Примечательно, что в конце прошлого года представители GitHub уже устраняли аналогичную уязвимость , которая также могла привести к атакам типа «RepoJacking».

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