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