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