CVE-2020-5260| Git輸入驗證錯誤漏洞通告

發布時間 2020-04-17

0x00 漏洞概述


CVE   ID

CVE-2020-5260

   

2020-04-17

   

IVE

   

嚴重

遠程利用

影響范圍

Git 2.17.x <= 2.17.3

Git 2.18.x <= 2.18.2

Git 2.19.x <= 2.19.3

Git 2.20.x <= 2.20.2

Git 2.21.x <= 2.21.1

Git 2.22.x <= 2.22.2

Git 2.23.x <= 2.23.1

Git 2.24.x <= 2.24.1

Git 2.25.x <= 2.25.2

Git 2.26.x <= 2.26.0


0x01 漏洞詳情



Git是一套免費、開源的分布式版本控制系統,旨在快速高效地處理從小型到大型項目的所有內容。


4月14日,Git公布了一個輸入驗證錯誤漏洞(CVE-2020-5260),該漏洞會導致Git用戶憑證泄露。


Git使用憑證助手(credential helper)來幫助用戶存儲和檢索憑證。當URL中包含經過編碼的換行符(%0a)時,可能將非預期的值注入到credential helper的協議流中。導致憑證助手檢索一個服務器的密碼,向另一個服務器發出HTTP請求,使前者的憑據發送到后者,而且兩者之間的關系沒有任何限制。這意味著攻擊者可以制作一個URL,該URL將向其選擇的主機提供任何主機的存儲憑據。受影響版本 Git對惡意 URL 執行 git clone 命令時會觸發此漏洞,攻擊者可利用惡意URL欺騙Git客戶端發送主機憑據。


0x02 處置建議


升級補丁,下載鏈接:

https://github.com/git/git/releases


臨時措施:


禁用credential helper:

git config --unset credential.helper

git config --global --unset credential.helper

git config --system --unset credential.helper


避免惡意URL:

1. git clone時檢查URL的主機名和用戶名部分是否存在編碼的換行符(%0a)或憑據協議注入的證據(例如host=github.com);

2. 避免將子模塊與不受信任的存儲庫一起使用(不要使用clone --recurse-submodules;僅在檢查.gitmodules中的URL之后才使用git子模塊更新);

3. 避免對不信任的URL執行 git clone。


0x03 相關新聞


https://www.suse.com/security/cve/CVE-2020-5260/


0x04 參考鏈接


https://nvd.nist.gov/vuln/detail/CVE-2020-5260

https://github.com/git/git/security/advisories/GHSA-qm7j-c969-7j4q


0x05 時間線


2020-04-14 Git發布公告

2020-04-14 CVE發布該漏洞