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. 阻止将子� ?橛氩皇苄湃蔚拇娲⒖庖黄鹗褂茫ú灰褂胏lone --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宣布该误差