過去幾年,谷歌 Project Zero 團(tuán)隊已經(jīng)披露過影響 Windows 10、macOS、iOS 等平臺的嚴(yán)重安全漏洞。通常情況下,受影響的機(jī)構(gòu)將有 90 天的時間來籌備修復(fù),然后相關(guān)漏洞詳情才會被公開披露。最新消息是,谷歌 Project Zero 團(tuán)隊剛剛披露了影響 GitHub 開源代碼托管平臺的一個“高度嚴(yán)重”的安全漏洞。
據(jù)悉,問題源于GitHub Actions中的工作流命令極易受到注入攻擊。而所謂的 Actions,主要負(fù)責(zé)與“動作執(zhí)行器”(Action Runner)之間的通信工作。
Felix Wilhelm 在審查源代碼時發(fā)現(xiàn)了這個嚴(yán)重的安全隱患:“當(dāng)進(jìn)程解析至 STDOUT 的每一行,以尋找工作流命令時,每個 GitHub 操作都會在執(zhí)行過程中打印出不受信任的內(nèi)容”。
在大多數(shù)情況下,設(shè)置任意環(huán)境變量的功能,會在執(zhí)行另一個工作流程后立即執(zhí)行遠(yuǎn)程代碼。換言之,這一缺陷使之極易受到注入攻擊。
Felix Wilhelm 花了一些時間來查看流行的 GitHub 存儲庫,結(jié)果發(fā)現(xiàn)幾乎所有具有某些復(fù)雜 GitHub Actions 的項(xiàng)目都極易受到此類 Bug 的影響。
自 7 月 21 日發(fā)現(xiàn)該安全漏洞之后,Project Zero 團(tuán)隊已經(jīng)及時向 GitHub 方面通報了此事,并為其提供了標(biāo)準(zhǔn)的 90 天寬限期(截止 10 月 18 日)。
最終 GitHub 決定棄用易受攻擊的命令,并發(fā)出“中等嚴(yán)重的安全漏洞”的修補(bǔ)建議,通知開發(fā)者更新其工作流程。
尷尬的是,由于工作流命令的實(shí)現(xiàn)方法存在根本性的不安全問題,F(xiàn)elix Wilhelm 也無法確定該如何解決這個問題。
作為臨時的應(yīng)對措施,相關(guān)項(xiàng)目只得先棄用命令語法。長期的解決方案,仍需將工作流命令從界內(nèi)通道移往它處,但這么做又會破壞其它相關(guān)代碼,讓所有人都感到頭痛不已。
10 月 16 日,GitHub 得到了 Project Zero 團(tuán)隊提供的額外 14 天寬限期,以完全禁用相關(guān)命令(新截止日期為 11 月 2 日)。
不過當(dāng) GitHub 試圖再申請 48 小時的寬限期后,Project Zero 覺得一再拖延并不能解決問題,并且有違標(biāo)準(zhǔn)的漏洞披露流程,于是最終還是披露了漏洞詳情和概念驗(yàn)證代碼。
關(guān)鍵詞: 谷歌