在104天的披露截止日期之后,谷歌本周公開了影響GitHub Actions的漏洞的詳細(xì)信息。
該漏洞由Google Project Zero的安全研究員Felix Wilhelm識別,該漏洞于7月21日報(bào)告給GitHub。根據(jù)Google的政策,有關(guān)該漏洞的信息應(yīng)在90天后發(fā)布,但是GitHub要求寬限期為14天。
漏洞跟蹤為CVE-2020-15228,與設(shè)置為禁用的set-env和add-path工作流命令的使用有關(guān)。GitHub已為該問題指定了中等嚴(yán)重性等級,但Google Project Zero表示此問題的嚴(yán)重性為。
Github操作運(yùn)行程序支持的set-env命令使用戶可以定義任意環(huán)境變量,安全研究人員發(fā)現(xiàn)該功能高度容易受到注入攻擊。
“當(dāng)運(yùn)行程序進(jìn)程解析打印到STDOUT的每一行以尋找工作流命令時,每個Github操作都會在執(zhí)行過程中打印出不受信任的內(nèi)容,因此很容易受到攻擊。在大多數(shù)情況下,設(shè)置任意環(huán)境變量的功能可在執(zhí)行另一個工作流程后立即執(zhí)行遠(yuǎn)程代碼。” Wilhelm指出。
GitHub確認(rèn)的問題是,可以將路徑和環(huán)境變量注入到將不受信任的數(shù)據(jù)記錄到stdout的工作流中,而這全都不是工作流作者的意圖。
在10月1日的帖子中,Microsoft擁有的平臺透露了@ actions / core npm模塊應(yīng)該更新到版本1.2.6,該版本更新了addPath和exportVariable函數(shù)。
GitHub引入了一組新文件,用于管理工作流中的環(huán)境和路徑更新,以確保用戶可以繼續(xù)動態(tài)設(shè)置環(huán)境變量。
“跑步者將發(fā)布一個更新,該更新將在不久的將來禁用set-env和add-path工作流命令。現(xiàn)在,用戶應(yīng)該升級到@行為/核心1.2.6或更高版本,并更換一套-ENV的任何實(shí)例或在他們的工作流程與新的環(huán)境文件語法添加路徑命令,” GitHub的解釋。
GitHub說,Runner 2.273.5版本已經(jīng)在警告使用添加路徑或set-env命令,并且計(jì)劃完全禁用它們。建議用戶盡快升級,因?yàn)樯形凑业浇鉀Q方法。