Git 中的远程代码执行漏洞已被修复,多个工具受影响

局长
 局长
发布于 2018年10月08日
收藏 2

据外媒 BleepingComputer 报道,Git 项目组于前两天公布了一个在 Git 命令行客户端、Git Desktop 和 Atom 中发现的任意代码执行漏洞,这是一个比较严重的安全漏洞,可能会使得恶意仓库在易受攻击的计算机上远程执行命令。

这个漏洞已被分配 CVE-2018-17456 这个唯一 ID,与之前的 CVE-2017-1000117 可选注入漏洞相似 —— 恶意仓库可以新建一个 .gitmodules 文件,其中包含以破折号开头的 URL

通过破折号,当 Git 使用 --recurse-submodules 参数来克隆仓库时,该命令会将 URL 翻译为一个选项,然后可以使用该选项在计算机上进行远程代码执行。

当运行 "git clone --recurse-submodules" 时,Git 会解析 .gitmodules 文件中的 URL 字段,然后将其作为参数传递给 "git clone" 子进程。如果 URL 字段是一个字符串,并使用短划线开头,这个 "git clone" 子进程将会把 URL 翻译为一个选项。这可能导致用户运行 "git clone" 时,会执行 superproject 中的任意脚本。

下面通过一个例子进行说明,下面的漏洞使用了恶意的 .gitmodules 文件(注意 URL 如何以破折号开头),以使得 Git 认为这是一个选项。然后 "touch VULNERABLE/git@github.com:/timwr/test.git" 这条命令将会被执行。

[submodule "test"]
	path = test
	url = ssh://-oProxyCommand=touch VULNERABLE/git@github.com:/timwr/test.git

此漏洞已在 Git v2.19.1 (with backports in v2.14.5, v2.15.3, v2.16.5, v2.17.2, and 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 clientGithub Desktop 或 Atom,以免遭受恶意仓库的攻击。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Git 中的远程代码执行漏洞已被修复,多个工具受影响
加载中

最新评论(3

Kit_lee
Kit_lee

引用来自“Kit_lee”的评论

brew upgrade git

引用来自“开源中国首席98K”的评论

我的debian提示brew command not found.😜
你最皮👍
开源中国首席98K
开源中国首席98K

引用来自“Kit_lee”的评论

brew upgrade git
我的debian提示brew command not found.😜
Kit_lee
Kit_lee
brew upgrade git
返回顶部
顶部