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

Carding

Professional
Messages
2,871
Reaction score
2,331
Points
113
Новые результаты показывают, что новая уязвимость, раскрытая в GitHub, могла подвергнуть риску повторных подключений тысячи репозиториев.

Недостаток "может позволить злоумышленнику использовать состояние гонки в операциях создания репозитория GitHub и переименования имени пользователя", - сказал исследователь безопасности Checkmarx Элад Рапопорт в техническом отчете, предоставленном The Hacker News.

"Успешное использование этой уязвимости влияет на сообщество разработчиков с открытым исходным кодом, позволяя перехватывать более 4000 пакетов кода на таких языках, как Go, PHP и Swift, а также действия GitHub".

После ответственного раскрытия 1 марта 2023 года платформа хостинга кода, принадлежащая Microsoft, решила проблему с 1 сентября 2023 года.

Повторное использование, сокращение от перехвата репозитория, - это метод, при котором субъект угрозы может обойти механизм безопасности, называемый удалением пространства имен popular repository, и в конечном итоге получить контроль над репозиторием.

Эта мера защиты не позволяет другим пользователям создавать репозиторий с тем же именем, что и репозиторий с более чем 100 клонами на момент переименования его учетной записи пользователя. Другими словами, комбинация имени пользователя и названия репозитория считается "удаленной".

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

Атака с повторным подключением


Новый метод, описанный Checkmarx, использует потенциальное состояние гонки между созданием репозитория и переименованием имени пользователя для достижения повторного взлома. В частности, он включает в себя следующие шаги -
  1. Жертве принадлежит пространство имен "victim_user/repo"
  2. Жертва переименовывает "victim_user" в "renamed_user"
  3. Репозиторий "victim_user / repo" в настоящее время удален
  4. Субъект угрозы с именем пользователя "attacker_user" одновременно создает репозиторий под названием "repo" и переименовывает имя пользователя "attacker_user" в "victim_user"
Последний шаг выполняется с использованием запроса API для создания репозитория и перехвата переименованного запроса для изменения имени пользователя. Разработка началась почти через девять месяцев после того, как GitHub исправил аналогичную ошибку обхода, которая могла открыть дверь для атак с повторным подключением.

"Обнаружение этой новой уязвимости в операциях создания репозитория GitHub и переименования имени пользователя подчеркивает постоянные риски, связанные с механизмом "удаления пространства имен популярного репозитория", - сказал Рапопорт.
 
Top