Git 項目修復(fù)三大漏洞:遠(yuǎn)程代碼執(zhí)行、任意文件寫入與緩沖區(qū)溢出
漏洞概述
Git項目近日發(fā)布更新,修復(fù)了影響Git v2.50.0及之前版本的三個重大漏洞,包括:
- 倉庫克隆過程中可能引發(fā)遠(yuǎn)程代碼執(zhí)行(RCE)的漏洞
- 允許任意文件寫入的漏洞
- Windows憑據(jù)處理中的緩沖區(qū)溢出漏洞
這些漏洞編號為CVE-2025-48384、CVE-2025-48385和CVE-2025-48386,已在v2.50.1及v2.43.7至v2.49.1等長期支持版本中修復(fù)。
漏洞詳情
(1) CVE-2025-48384:配置引號處理不當(dāng)導(dǎo)致的任意代碼執(zhí)行(CVSS 8.1)
該漏洞源于Git在寫入配置值時對回車符(CR)的錯誤處理。攻擊者若在子模塊路徑末尾添加回車符,Git會錯誤解析修改后的路徑,并在檢出后執(zhí)行惡意鉤子腳本。
安全公告指出:"如果存在符號鏈接將修改后的路徑指向子模塊鉤子目錄,且該子模塊包含可執(zhí)行的post-checkout鉤子,該腳本可能會在檢出后被意外執(zhí)行。"
此漏洞可在遞歸克隆不受信任倉庫的子模塊時被利用,對使用含嵌套依賴的開源項目的開發(fā)者構(gòu)成高風(fēng)險。
緩解措施:升級至已修復(fù)版本,或避免從未知來源遞歸克隆子模塊。
(2) CVE-2025-48385:Bundle-URI參數(shù)注入導(dǎo)致的任意文件寫入(CVSS 8.6)
該漏洞影響Git的bundle URI功能(該功能通過CDN托管預(yù)打包文件加速克隆)。由于Git客戶端對URI驗證不足,遠(yuǎn)程服務(wù)器可注入惡意協(xié)議命令,將文件寫入目標(biāo)目錄之外的位置。
Git公告稱:"這種協(xié)議注入會導(dǎo)致客戶端將獲取的bundle寫入攻擊者控制的位置...最壞情況下可導(dǎo)致任意代碼執(zhí)行。"
雖然bundle URI功能默認(rèn)關(guān)閉,但當(dāng)用戶或項目顯式啟用該功能,或遞歸克隆攻擊者控制的子模塊時,仍可能被利用。
緩解措施:禁用bundle.heuristic配置,避免遞歸克隆不受信任倉庫。
(3) CVE-2025-48386:wincred憑據(jù)助手的緩沖區(qū)溢出(CVSS 6.3)
該漏洞是Windows平臺wincred助手的典型緩沖區(qū)溢出問題。由于wcsncat()函數(shù)缺乏邊界檢查,攻擊者可通過溢出用于憑據(jù)比較和存儲的靜態(tài)緩沖區(qū)觸發(fā)內(nèi)存損壞。
公告說明:"該憑據(jù)助手在追加內(nèi)容前未正確檢查緩沖區(qū)剩余空間...可能導(dǎo)致緩沖區(qū)溢出。"
雖然攻擊復(fù)雜度較高,但在默認(rèn)啟用wincred的Windows系統(tǒng)上仍存在風(fēng)險。
緩解措施:升級Git版本,若無法立即升級則禁用wincred助手。
受影響版本及修復(fù)方案
所有v2.50.0及之前版本均受影響,以下分支已包含修復(fù):
- v2.50.1
- v2.49.1
- v2.48.2
- v2.47.3
- v2.46.4
- v2.45.4
- v2.44.4
- v2.43.7
強(qiáng)烈建議開發(fā)者與DevOps團(tuán)隊立即更新,特別是在自動化CI/CD流水線中使用Git,或經(jīng)??寺⊥獠總}庫的環(huán)境。