Git漏洞导致攻击者可在用户电脑上运行任意代码
看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!
\\\Git子模塊名稱驗證中的一個缺陷使得遠程攻擊者可能在開發者機器上執行任意代碼。另外,攻擊者可以訪問部分系統內存。這兩個漏洞已經在Git 2.17.1、2.16.4、2.15.2和其他版本中得到了修復。
\\安全研究員Etienne Stalmans報告了該漏洞,未打補丁的Git版本不驗證子模塊名稱,因此
\\\在克隆代碼倉庫時,遠程倉庫可以返回特定的數據來創建或覆蓋目標用戶系統上的文件,從而可以在目標用戶系統上執行任意代碼。
\\\具體來說,Git會鏡像$GIT_DIR/modules目錄中的子模塊,這些子模塊的名字是在$GIT_DIR/.gitmodules中定義的。通過修改.gitmodules文件的內容,可以將../嵌入到子模塊名稱中,以欺騙Git將子模塊寫到倉庫以外的地方。再加上一個惡意的post-checkout鉤子,這就有可能在克隆倉庫后立即運行惡意代碼。
\\要修復這個問題,需要給子模塊名稱增加一些規則,不符合規則的名稱將被Git忽略。基本上,..和符號鏈接是不被允許的。這樣可以確保子模塊目錄不會被保存到$GIT_DIR之外。
\\Stalmans表示,他可以利用此漏洞在GitHub頁面上執行遠程代碼,不過到目前為止沒有出現漏洞被利用的情況。
\\第二個已修補的漏洞與使用NTFS文件系統的倉庫有關,攻擊者通過欺騙NTFS路徑健全性檢查來讀取隨機內存中的內容。
\\Git社區已經及時在Git 2.13.7版本中修復了這兩個漏洞,修復補丁也已移植到2.14.4、2.15.2、2.16.4和2.17.1中。此外,作為附加安全級別,如果代碼倉庫包含有問題.gitmodules文件,這些版本將拒絕接受來自用戶的推送內容。這是為了:
\\\幫助托管網站保護使用老版客戶端的用戶,防止惡意內容傳播。
\\\GitHub和其他托管服務已經修補了他們的系統。
\\查看英文原文:Git Vulnerability May Lead to Arbitrary Code Execution
總結
以上是生活随笔為你收集整理的Git漏洞导致攻击者可在用户电脑上运行任意代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源应用框架BitAdminCore:更
- 下一篇: 腾讯云服务器部署FTP