←新聞 1 / 9→

安全倫理

Git 發布新版本修復六項安全漏洞

Git security vulnerabilities announced

Git 發布新版本修復六項安全漏洞

github.blog2026-11-10

摘要

Git 專案發布新版本以修復六項安全漏洞,包含遞迴克隆惡意倉庫時的任意程式碼執行、寫入非預期檔案以及記憶體損毀等風險。建議開發者更新至 Git 2.56.1 或對應維護系列的修補版本,並檢查使用 Git 的應用程式是否已同步更新。

Git project 發布新版本,修復六項安全漏洞。這些漏洞包括遞迴克隆惡意儲存庫時可執行任意程式碼、寫入非預期的檔案,以及處理合併或二進位修補程式時發生記憶體損壞。修復已包含在 Git 2.56.1 中。Git project 建議更新到 Git 2.56.1,或您所維護系列的修補版本,並更新任何內建 Git 的應用程式。

CVE-2026-111760 涉及遞迴克隆期間的程式碼執行。Git 在將檔案寫入工作樹之前會檢查路徑,包括拒絕會覆蓋自身儲存庫中繼資料的路徑。然而,Git 索引處理中的整數截斷,可能讓極長的路徑以一個名稱通過驗證,卻以較短的名稱寫入。攻擊者可利用這個差異,把子模組的 .git 檔案換成符號連結,指向含有惡意設定或鉤子的目錄。Git 隨後使用該目錄時,就可能在遞迴克隆期間執行攻擊者控制的程式碼。修復方式是在長度被截斷之前,先拒絕極長的索引條目路徑。

CVE-2026-113408 涉及透過伺服器宣告的 HEAD 進行路徑遍歷。以 Git 協議 v2 克隆空儲存庫時,伺服器可以宣告一個指向未出生分支(尚無提交的分支)的 HEAD symref。Git 在將 symref 的目標存到本機之前,並未驗證該目標。惡意伺服器可以提供含有路徑遍歷元件的名稱。使用 files reference backend 時,之後更新分支的操作可能會寫到預期的參考目錄之外。Git 現在會先驗證宣告的目標,才會接受。此次發布也會驗證透過協議 v2 收到的其他參考名稱和符號參考目標。

CVE-2026-114467 涉及移除簽章時的堆疊損壞。從訊息中剝除 GPG 簽章時,Git 假設最多只有兩個簽章。若訊息經過特別製作、含有超過兩個簽章,Git 可能寫到固定大小堆疊陣列的尾端之外。合併含有超過兩個簽章的標籤就能觸發,造成記憶體損壞和潛在的服務中斷。代表使用者執行這類合併的託管服務也可能受影響。修復方式是移除固定大小的陣列,並能處理任意數量簽章的訊息。

CVE-2026-114469 涉及套用二進位修補程式時的越界讀取。Git 會拒絕大於約 1 GiB 的修補程式,因為其修補程式套用程式碼無法安全處理更大的輸入。但這項檢查只看所提供修補程式的大小。二進位修補程式經過壓縮和編碼,所以體積相對小的修補程式也可能超出該上限。精心製作的修補程式可以繞過輸入大小檢查,造成越界讀取,使 Git 當機。Git 現在在處理二進位修補程式之前,也會檢查其宣稱的未壓縮大小。

CVE-2026-105437 涉及大型合併期間的堆積損壞。Git 的合併機制會在寫出輸出之前,先計算合併結果需要多少記憶體。當結果非常大時,包括許多衝突搭配大的衝突標記大小屬性時,這項計算可能溢位。溢位可能讓 Git 配置過小的緩衝區,接著寫到緩衝區之外,損壞堆積記憶體。這會影響以 Git 合併不受信任內容的應用程式和託管服務,也會影響本機合併。修復方式是改用大小適當的型別並檢查算術運算,拒絕輸出大小無法安全表示的合併。

CVE-2026-114466 涉及透過 fast-import 串流存取檔案系統。git fast-import 會讀取命令串流來建立儲存庫。部分命令可以存取儲存庫以外的檔案,所以當它們出現在不受信任的輸入串流時,Git 本來就會加以限制。另有三項功能缺少這層保護。rewrite-submodules-from 和 rewrite-submodules-to 功能可以讀取任意檔案,內容可能透過錯誤訊息洩漏。export-pack-edges 選項可以建立檔案,或把資料附加到既有檔案。除非呼叫者明確啟用 --allow-unsafe-features,否則這些功能現在只要是透過輸入串流提供,就會被拒絕。只有在您信任產生串流的程式時,才應啟用該選項。

此次發布также在結帳和樹處理期間,為相關的索引條目配置加入溢位檢查。這些檢查與上述的路徑長度限制互補,避免在 Git 把路徑複製到記憶體之前,配置大小被截斷或溢位。

GitHub 已在 github.com、GitHub Enterprise Cloud 和 GitHub Enterprise Cloud with data residency 上部署這些漏洞的修復。GitHub Enterprise Server 的更新已提供給 3.19.15、3.20.11、3.21.9 和 3.22.4 版。GitHub 建議管理員盡快升級。GitHub 正在協調發布內含修補版 Git 的 GitHub Desktop 和 GitHub Copilot 應用程式。GitHub Codespaces 和 GitHub Actions 也會取得修補版 Git。

更新是防範這些漏洞最有效的方法。請從作業系統或 Git 發行商安裝修補版本,並更新內含自己那份 Git 副本的應用程式。管理員也應更新用於自動化,以及代表使用者處理儲存庫的服務所用的 Git。如果無法立即更新,請只從受信任的伺服器克隆,並避免遞迴克隆不受信任的儲存庫。也請避免合併不受信任的內容或標籤,或處理來自不受信任來源的二進位修補程式或 fast-import 串流。這些預防措施無法取代安裝修復。

●開發者:應立即更新至 Git 2.56.1 或對應修補版本以修復遞迴克隆與記憶體損毀漏洞

●投資人:關注軟體供應鏈安全與開源維護成本

●一般用戶:使用 Git 相關服務時需注意更新以確保資料安全

重要性評分

77/100

🟠 值得關注

Git安全漏洞CVE程式碼執行軟體更新
原文出處
下一則如何選擇適合的 Claude 模型:Fable 5.2、Opus 5.5、Sonnet 5.5 與 Haiku 5.5 的任務、成本與效率指南 →

喜歡這篇?每天早晨還有更多。

訂閱 5min AI,讓 AI 替你追蹤整個 AI 世界。

相關指南

本文摘要由 AI 自動生成,內容源自原始報導。如有疑慮,請參閱關於我們。

喜歡這篇?每天早晨還有更多。

訂閱 5min AI,讓 AI 替你追蹤整個 AI 世界。