Git for Cygwin 中允許您組織程式碼執行的漏洞

Git (CVE-2021-29468) 中已發現一個嚴重漏洞,該漏洞僅在構建 Cygwin 環境(用於在 Windows 上模擬基本 Linux API 的庫和一組適用於 Windows 的標準 Linux 程式)時出現。此漏洞允許在從攻擊者控制的儲存庫檢索資料(“git checkout”)時執行攻擊者程式碼。該問題已在 Cygwin 的 git 2.31.1-2 套件中修復。在主 Git 專案中,問題還沒有解決(不太可能有人親手為 Cygwin 建立 git,而不是使用現成的套件)。

該漏洞是由於 Cygwin 將環境處理為類 Unix 系統而不是 Windows 造成的,導致路徑中「\」字元的使用沒有任何限制,而在 Cygwin 中,與 Windows 中一樣,該字元可以用於分隔目錄。因此,透過建立一個包含符號連結和帶有反斜線字元的檔案的經過特殊修改的儲存庫,將該儲存庫載入到Cygwin 時可以覆蓋任意檔案(2019 年在Windows 版Git 中修復了類似的漏洞)。透過獲得覆蓋檔案的能力,攻擊者可以覆蓋 git 中的鉤子呼叫並導致在系統上執行任意程式碼。

來源: opennet.ru

添加評論