谷歌在GitHub上發現安全漏洞

零項目在GitHub上發布了嚴重安全漏洞的詳細信息 他們報告說 該錯誤影響動作工作流程命令 來自GitHub,被認為具有很高的嚴重性。 (此錯誤是在90月發現的,但根據標準的XNUMX天披露期,詳細信息現在才發布。)

該漏洞成為少數未修復的漏洞之一 正確地在Google Project Zero授予的標準90天期限到期之前。

根據菲利克斯·威廉(Felix Wilhelm) (發現它的人),Project Zero團隊的成員,該漏洞影響了GitHub的action功能,GitHub是使開發人員的工作自動化的工具。 這是因為Actions工作流命令“容易受到注入攻擊”:

“ Actions Github支持稱為工作流命令的功能,作為Action運行器和已執行操作之間的通信通道。 工作流命令在/src/Runner.Worker/ActionCommandManager.cs中實現,它通過解析STDOUT來查找所有兩個命令標記之一來執行的所有操作,從而工作。

提到 該功能的最大問題是它非常容易受到注入攻擊。 因為執行過程會掃描STDOUT中打印的每一行以查找工作流命令,所以在執行過程中包含不可信內容的每個GitHub操作都會受到攻擊。

在大多數情況下,只要運行另一個工作流程,設置任意環境變量的能力就會導致遠程執行代碼。 我花了一些時間查看流行的GitHub存儲庫,幾乎所有使用稍微複雜的GitHub動作的項目都容易受到這種錯誤的影響。

隨後, 給出瞭如何利用此漏洞的一些示例 並提出了解決方案:

“我真的不確定什麼是最好的解決方法。 我認為工作流命令的實施方式基本上是不安全的。 降低v1命令語法並使用允許列表來增強et-env可能會與直接的RCE向量相對應。

“但是,即使是覆蓋以後步驟中使用的'正常'環境變量的能力,也可能足以利用更複雜的動作。 我也沒有分析工作空間中其他控件的安全性影響。

另一方面,提一個好的長期解決方案 可以將工作流命令移至單獨的通道(例如,新的文件描述符),以避免通過STDOUT進行解析,但這會破壞很多現有的操作代碼。

至於GitHub,其開發人員於1月2020日發布了一份公告,棄用了易受攻擊的命令,但認為Wilhelm發現的實際上是“中等安全漏洞”。 GitHub分配了錯誤標識符CVE-15228-XNUMX:

“在GitHub Actions運行時中發現了一個中等安全漏洞,該漏洞可以允許將路徑和環境變量注入到將不受信任的數據記錄到STDOUT的工作流中。 這可能導致環境變量的引入或修改,而不需要工作流作者的意圖。

“為幫助我們解決此問題並允許您動態設置環境變量,我們引入了一組新文件來處理工作流中的環境和路徑更新。

“如果您使用的是自託管代理,請確保將它們更新到版本2.273.1或更高版本。

據Wilhelm稱,12月14日,如果GitHub希望有更多時間禁用易受攻擊的命令,零號項目將與GitHub聯繫,並主動為他們提供19天的窗口。 當然,該報價已被接受,GitHub希望在2月XNUMX日之後禁用易受攻擊的命令。 然後,零號項目將新的披露日期設置為XNUMX月XNUMX日。

來源: https://bugs.chromium.org


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。