GitHub 修復了導致用戶登錄其他賬戶的錯誤
昨天,GitHub 通過使 GitHub.com 網站會話無效化的方式自動登出了許多用戶的賬號,以保護用戶賬戶免受潛在的嚴重安全漏洞影響。
在本月早些時候,GitHub 就收到一份來自外部的異常行為報告。異常行為源于一個罕見的競爭條件(race condition)漏洞,即 GitHub 用戶的登錄會話會被誤傳到另一個已登錄用戶的 Web 瀏覽器上,使后者獲得了前一個用戶賬戶的認證會話 cookie 并獲得訪問權限。
GitHub 因 bug 登出用戶賬號
從昨天起,GitHub 陸續登出了所有在 UTC 時間 3 月 8 日 12:03 分之前登錄的用戶賬號。
這一步驟是在該公司在收到了來自外部關于 GitHub.com 可疑行為的初步報告后近一周時間才采取的。
Github 在安全公告中寫道:"3月2日,GitHub 收到外部報告,稱其認證的網站用戶會話存在異常行為。收到報告后,GitHub 安全和工程部立即開始調查,以了解這個問題在 GitHub.com 網站上出現的根本原因、影響和普遍性"。
3月5日星期五,GitHub 團隊對該安全漏洞進行了修復,并在周末繼續進行分析。此外,昨天將所有會話無效化是修補該漏洞的最后一步。
根據 GitHub 的說法,該漏洞可能會在極其罕見的情況下被利用,即在后臺請求處理過程中出現競爭條件。在這種情況下,一個已登錄的 GitHub 用戶的會話 cookie 會被發送到另一個用戶的瀏覽器中,使后者能夠訪問前者的賬戶。
GitHub 首席安全官 Mike Hanley 表示:"需要注意的是,這個問題并不是用戶賬戶密碼、SSH 密鑰或個人訪問令牌(PAT)泄露所導致的結果,同時也沒有證據表明這些信息曾從 GitHub 系統中所泄露。相反,這個問題是由于罕見的、孤立的對認證會話的不當處理所造成的。此外,這個問題也不是由惡意用戶故意觸發或定向所引起的"。
受影響的認證會話占比不到 0.001%。
GitHub 表示,網站上的底層 bug 累計存在了不到兩周的時間。在找到初步原因后,他們在 3 月 5 日就修復了該問題,并在 3 月 8 日發布了第二個補丁,以進一步加強網站的安全性。
這就是導致網站在 UTC 時間 3 月 8 日中午將所有活躍的登錄會話無效化的原因。
沒有證據表明 GitHub 的其他資產或產品(如 GitHub 企業服務器)因這一錯誤而受到影響。
Hanley 在公告中說道:"我們認為,這個會話的不當處理發生在網站上不到 0.001% 的已認證會話中"。
雖然我們外部人員無法確認這個 bug 的具體影響范圍,但考慮到 GitHub 在一個月內有超過 3200 萬的活躍訪客(無論是否經過認證),0.001% 的認證會話也意味著可能超過數萬個賬戶受到影響。
此外,Github 還沒有對是否有任何項目倉庫或源代碼因為這個漏洞被惡意篡改等問題做出回應。像這樣的漏洞如果被不法分子利用,就會為秘密的軟件供應鏈攻擊鋪平道路。
本文轉自OSCHINA
本文標題:GitHub 修復了導致用戶登錄其他賬戶的錯誤
本文地址:https://www.oschina.net/news/132506/github-fixes-bug-causing-users-to-log-into-other-accounts