Git Submodule新漏洞已修复

Git社区披露了一个影响clone和submodule命令的安全漏洞,当存在漏洞的机器访问恶意库时,这些命令可以远程执行代码。这个由Mitre分配了编号CVE-2018-17456的漏洞已在Git 2.19.1中修复

要触发该漏洞,恶意库可以伪造一个.gitmodules,其中包含以破折号开头的URL。这将影响git clone --recurse-submodules和git submodule update --recursive,因为它们会将这个以破折号开头的URL递归地传递给git clone或git submodule子进程,它们会将该URL解释为命令选项。这可能导致在本地机器上执行任意命令。这个漏洞类似于CVE-2017-1000117,它也是通过伪造以破折号开头的ssh URL实现选项注入攻击,由git执行的ssh子进程会将这些URL解释为命令选项。目前还没有任何已知的不法行为。

正如@joernchen提交的修复漏洞的PR所显示的那样,修复本身非常简单。不过,这一发现为.gitmodules的全面审计提供了机会,它会针对其中的路径和URL实现更严格的检查

如前所述,Git 2.19.1包含了对这个漏洞的修复。另外,该补丁还被反向移植到了2.14.5、2.15.3、2.16.5、2.17.2和2.18.1版本。由于git集成到了GitHub项目(如GitHub Desktop和Atom)中,这些项目也已经得到了修复,所以你最好尽快升级它们。

查看英文原文:New Git Submodule Vulnerability Patched

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址http://www.infoq.com/cn/news/2018/10/git-submodule-vulnerability

扫码关注云+社区

领取腾讯云代金券