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