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发布该漏洞