聚焦源代码安全,网罗国内外最新资讯!
翻译:360代码卫士团队
10月5日,Git 项目组表示,Git 命令行客户端 Git Desktop 和 Atom中存在一个严重的任意代码执行漏洞,可导致恶意仓库在易受攻击机器上远程执行命令。
该漏洞的编号是 CVE-2018-17456,和此前出现的 CVE-2017-1000117 选项注入漏洞类似。和这个漏洞一样,恶意仓库能够创建一个包含以破折号开头的 URL 的 .gitmodules 文件。
通过使用破折号,当 Git 克隆使用 –recurse-submodules 参数的仓库时,命令将会把 URL 解析为一种选项,随后将其用于在计算机上执行远程代码。当运行 “git-clone-recurse-submodules” 时,Git 为一个 URL 字段解析 .gitmodules 文件,然后将其盲目地以参数的方式传递给 “git clone” 子进程。如果这个 URL 字段被设置为以破折号开头的一个字符串,那么这个 “git clone” 子进程就会将该 URL 解析为一个选项,从而导致以运行“git clone”的用户身份执行 superproject 中的任意脚本。
如下是之前漏洞中所使用的一个恶意 .gitmodules 文件。注意,这个 URL 以破折号开头,因此 Git 将其视作一个选项,导致 "touchVULNERABLE/git@github.com:/timwr/test.git" 命令被执行。

该漏洞已在 Git v2.19.1(在 v2.14.5、v2.15.3、v2.16.5、v2.17.2 和 v2.18.1中移植)、GitHub Desktop 1.4.2、GitHub Desktop 1.4.3-beta0、Atom 1.31.2 和 Atom 1.32.0-beta3 中修复。
Git 项目组强烈建议所有用户升级至 Git 客户端 Github Desktop 或 Atom 的最新版本,以免遭恶意仓库执行带来的后果。
推荐阅读
原文链接
https://www.bleepingcomputer.com/news/security/git-project-patches-remote-code-execution-vulnerability-in-git/
本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。

