Репозитории под угрозой: как GitHub чуть не допустил массового захвата кода
На платформе GitHub была обнаружена новая уязвимость, которая может подвергнуть риску тысячи репозиториев. Уязвимость позволяет злоумышленникам эксплуатировать так называемое «состояние гонки» («Race Condition») в процессе создания репозитория и смены имени пользователя.
Элад Рапопорт, исследователь безопасности из Checkmarx, заявил следующее: «Успешная эксплуатация данной уязвимости затрагивает открытое программное обеспечение, позволяя захватить более 4000 пакетов кода на языках Go, PHP и Swift, а также GitHub Actions».
После ответственного раскрытия уязвимости 1 марта 2023 года, подконтрольная Microsoft платформа для хостинга кода устранила проблему 1 сентября 2023 года, поэтому сейчас пользователям GitHub ничего не угрожает.
Термин «RepoJacking» (захват репозитория) описывает технику, при которой потенциальный злоумышленник может обойти механизм безопасности хостинг-платформы и получить контроль над желаемым репозиторием.
В случае с описываемой уязвимостью GitHub злоумышленники могли создавать перенаправления на свои вредоносные репозитории, используя легитимные, но устаревшие пространства имён. Этот метод мог потенциально привести к атакам на цепочку поставок программного обеспечения.
Существующая защита, введённая сервисом ещё в 2018 году, предотвращает создание нового репозитория с тем же именем, если у репозитория уже есть более 100 клонов в момент переименования аккаунта пользователя. Однако, как выяснилось, этот защитный механизм можно было обойти благодаря вышеописанной уязвимости.
Примечательно, что в конце прошлого года представители GitHub уже устраняли аналогичную уязвимость , которая также могла привести к атакам типа «RepoJacking».
В целом, эксперты считают, что с механизмом переименования репозиториев связана целая уйма рисков и, кто знает, может в будущем злоумышленники найдут новые способы для эксплуатации этого механизма.
