GitHub 曝出漏洞,或導致 4000 多個存儲庫遭受劫持攻擊
The Hacker News 網站披露,安全研究員發(fā)現 GitHub 中存在一個新安全漏洞,該漏洞可能導致數千個存儲庫面臨劫持攻擊的風險。據悉,在 2023 年 3 月 1 日漏洞披露后,微軟旗下的代碼托管平臺已于 2023 年 9 月 1 日解決了安全漏洞問題。
Checkmarx 安全研究員 Elad Rapoport 在與 The Hacker News 分享的一份技術報告中指出,漏洞問題影響深遠,一旦網絡攻擊者成功利用安全漏洞,便可以劫持使用 Go、PHP 和 Swift 等語言的 4000 多個代碼包以及 GitHub 操作,從而影響開源社區(qū)的安全。
repocapping 是存儲庫劫持(repository hijacking)的簡稱,是一種威脅攻擊者能夠繞過一種流行的存儲庫命名空間退役的安全機制并最終控制存儲庫的技術。(該保護措施的作用是防止其他用戶在重命名其用戶帳戶時創(chuàng)建與包含 100 個以上克隆的存儲庫同名的存儲庫。)換句話說,用戶名和存儲庫名稱的組合被視為“已退役”狀態(tài)。
如果這一保障措施被輕易規(guī)避,威脅攻擊者就可以用相同的用戶名創(chuàng)建新賬戶并上傳惡意存儲庫,從而可能導致軟件供應鏈攻擊。
Checkmarx 提出的新方法主要利用了創(chuàng)建存儲庫和重命名用戶名之間的潛在競爭條件來實現劫持存儲庫。具體來說,需要以下步驟:
- 受害者擁有命名空間 "victim_user/repo
- 受害者將 "victim_user "重命名為 "renamed_user"
- 受害者用戶/repo "版本庫已退役
- 用戶名為 "acker_user "的威脅攻擊者同時創(chuàng)建一個名為 "repo "的存儲庫,并將用戶名 "acker_user "重命名為 "victor_user"
最后一步是使用 API 請求創(chuàng)建版本庫,并截獲重命名請求以更改用戶名。
值得一提的是,GitHub 在近九個月前還修補了一個類似的繞過漏洞,該漏洞可能會為劫持攻擊打開“方便之門”。
文章來源:https://thehackernews.com/2023/09/critical-github-vulnerability-exposes.html