GitHub漏洞允許任意程式碼執行,Windows不受影響

Editor發表於2018-10-07

10月5日,Git專案披露了一個漏洞,編號為CVE-2018-17456。當使用者克隆惡意儲存庫時,該漏洞可能會導致執行任意程式碼。Git v2.19.1已經發布了修復程式,以及v2.14.5,v2.15.3,v2.16.5,v2.17.2和v2.18.1中的補丁包。GitHub鼓勵所有使用者更新客戶端以免受漏洞影響。


受影響的產品


  • GitHub桌面

GitHub Desktop 1.4.1及更早版本包含受此漏洞影響的嵌入式Git。GitHub鼓勵所有GitHub桌面使用者更新到桌面應用程式中現有的最新版本(1.4.2和1.4.3-beta0)。


  • Atom

Atom包含了相同的嵌入式Git,也受到了影響。版本1.31.2和1.32.0-beta3包括補丁。


通過完成以下任何一項,確保使用的是最新Atom版本:


  • Windows:從工具欄中,單擊“幫助” - >“檢查更新” 
  • MacOS:從選單欄中單擊“Atom” - >“檢查更新”
  • Linux:通過從atom.io下載最新版本手動更新


  • Git在命令列和其他客戶端上

為了免受此漏洞的影響,必須更新Git的命令列版本以及可能包含嵌入式Git版本的任何其他應用程式,因為它們彼此獨立。


補充筆記:


GitHub.com和GitHub Enterprise都不會直接受此漏洞影響。但是,與先前發現的漏洞一樣,GitHub.com將檢測惡意儲存庫,並拒絕嘗試建立它們的推送或API請求。具有此檢測功能的GitHub Enterprise將於10月9日釋出。



CVE-2018-17456漏洞的詳細資訊


此漏洞與CVE-2017-1000117非常相似,因為它們都是與子模組相關的選項注入攻擊。在之前的攻擊中,惡意儲存庫會將一個.gitmodules檔案傳送到一個遠端儲存庫,其中一個子模組以短劃線( - )開頭。由Git產生的ssh程式將把它解釋為一個選項。除了選項注入針對子git(child git)克隆它自己外,此攻擊以類似的方式進行。


GitHub的安全列表表示,如果執行了特定的命令,即“git clone --recurse-submodules”,其軟體中的漏洞允許在客戶端平臺上執行任意程式碼。目前只有Unix平臺受到了影響。


執行“git clone --recurse-submodules”時,Git會解析提供的.gitmodules檔案中的URL欄位,並將其作為引數盲目地傳遞給“git clone”子程式。如果URL欄位設定為以短劃線開頭的字串,則此“git clone”子程式將URL解釋為選項。這可能導致執行超級專案中的任意指令碼作為執行“git clone”的使用者。


微軟澄清了這個問題僅僅影響基於Unix的平臺,如Linux和macOS,或適用於在Windows子系統Linux(WSL)的Linux發行版中執行git的人。這是因為在利用漏洞時寫入磁碟的檔名稱中需要冒號,並且由於Windows檔案系統不支援冒號,因此Git for Windows不會寫入該檔案。



漏洞修復程式


問題是由@joernchen於9月23日報告,他提供了既有Git的私人安全列表,也有GitHub的Bug Bounty程式。 


GitHub的開發人員與Git社群合作開發了一個修復程式,從報告中可以清楚地看到漏洞已基本修復:


GitHub漏洞允許任意程式碼執行,Windows不受影響

(圖片來源:github)



建議


在 macOS,Windows 任意平臺上使用Git的Visual Studio產品不受影響,但GitHub仍然建議使用者升級到Git版本2.17.2,2.18.1和2.19.1,目前Git for Windows 2.19.1已經發布,下載地址在這裡:


https://github.com/git-for-windows/git/releases/


GitHub是全球開發人員首選的程式碼共享及託管服務平臺,高手眾多,保持該專案及其工具為最新版本對提升安全保護非常重要。



參考來源:

  • github
  • ywnz


- End -




更多閱讀:


1、美國知名黑客入侵11,000多個軍方政府商業網站 或面臨20年監禁


2、蘋果和亞馬遜否認被中國微型晶片滲透


3、指紋解鎖車輛 不再遙遠,生物辨識技術變革正在進行


4、新iPhone漏洞,可繞過密碼訪問聯絡人和照片


相關文章