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