【預警】Git爆漏洞,華為云提醒開發者更新客戶端
Git爆任意代碼執行漏洞,華為云DevCloud提醒開發者更新客戶端
近期,Git社區發現了一個編號為CVE 2018-11235的安全漏洞。由于Git在處理子模塊代碼庫的設置檔案存在漏洞,導致開發者可能遭受任代碼執行攻擊。目前Git 2.17.1和Windows的2.17.1客戶端軟件版本已經發布,華為云DevCloud建議所有開發者請盡快升級到這一版本或更高版本,DevCloud已經在第一時間更新并修復了這一漏洞,還采取了進一步安全措施,防止惡意代碼庫被推入到華為云。
CVE 2018-11235安全漏洞是當用戶在惡意代碼庫中操作時,可能會受到任意代碼執行攻擊。遠程代碼存儲庫包含子模塊定義和數據,它們作為文件夾捆綁在一起并提交給父代碼存儲庫。當這個代碼倉庫被來回復制時,Git最初會將父倉庫放到工作目錄中,然后準備復制子模塊。但是Git稍后會發現它不需要復制子模塊,因為子模塊之前已經提交給父存儲庫,它也被寫入工作目錄,這個子模塊已經存在于磁盤上。因此Git可以跳過抓取文件的步驟,并直接在磁盤上的工作目錄中使用子模塊。但是并非所有文件都可以被復制,當客戶端復制代碼庫時,無法從服務器獲取重要的配置,這包括 .git 或配置文件的內容。另外,在Git工作流中的特定位置執行的鉤子(如Git)將在將文件寫入工作目錄時執行Post-checkout鉤子。不應該從遠程服務器復制配置文件的一個重要原因就是,遠程服務器可能提供由 Git 執行的惡意代碼。
CVE 2018-11235的漏洞正是犯了這個錯誤,所以Git有子模塊來設置漏洞。子模塊存儲庫提交給父存儲庫,并且從未實際復制過。子模塊存儲庫中可能存在已配置的掛鉤,當用戶再次出現時,惡意的父庫會被精心設計。將寫入工作目錄,然后Git讀取子模塊,將這些子模塊寫入工作目錄,最后一步執行子模塊存儲庫中的任何Post-checkout掛鉤。為了解決這個問題,Git客戶端現在將更仔細地檢查子文件夾文件夾名稱。包含現在非法的名稱,并且它們不能是符號鏈接,因此這些文件實際上必須存在于.git 中,而不能位于工作目錄中。
華為云DevCloud是作為華為云的組成部分, 是華為30余年研發實踐和前沿理念的結晶,為開發者提供一站式、輕量級的DevOps工具服務,同時,也是幫助企業修煉內功的一大利器,可以有效支撐企業DevOps落地,實現項目的高效、高質量迭代。未來,華為云DevCloud也將攜手各企業各開發者,精誠合作互通,及時響應反饋,更好的為廣大開發者提供穩定可靠的DevOps工具,助力軟件企業專注業務創新。
代碼托管(CodeHub)為軟件開發者提供基于Git的在線代碼托管服務,包括代碼克隆/下載/提交/推送/比較/合并/分支等功能。(5用戶+500M存儲空間以內免費體驗)https://www.huaweicloud.com/product/codehub.html