版本控制软件爆出远程命令执行漏洞 涉及Git、SVN、Mercurial、CVS版本控制

几个流行的版本控制系统受到可能严重的 远程命令执行漏洞 的影响。受影响产品的开发人员本周发布了更新补丁来修补安全漏洞。该缺陷影响版本控制软件, 如 Git (CVE-2017-1000117)、Apache Subversion (CVE-2017-9800)、Mercurial (CVE-2017-1000116) 和 CVS。由于CVS 系统上次更新已经是9年前的事情了, 因此没有为它分配 CVE 标识符。

什么是版本控制软件

版本控制软件 提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。

特殊构造的ssh:// 将允许攻击者执行任意命令

Recurity 实验室 Joern Schneeweisz 发现了这个漏洞,攻击者可以远程利用该漏洞,诱使目标用户点击特制的 "ssh://" URL,从而执行任意命令。git 开发人员在其安全公告中解释道

"恶意的第三方可以给出精心制作的 ssh:///..."一个不知情的受害者的 url, 并试图访问该 url 可能导致任何程序中存在的受害者的机器正在执行。这样的 URL 可以放在恶意项目的. gitmodules 文件中, 而不知情的受害者可能会被诱骗运行 ,来触发此漏洞, 。

Apache 软件基金会还提供了一些关于如何利用安全漏洞攻击针对 Subversion (SVN) 用户的详细信息。

"Subversion 客户端有时会连接到存储库提供的 url。这在两种主要情况下发生: 在 "签出"、"导出"、"更新" 和 "切换" 时, 下载的树包含 svn: 外部属性;当使用 "svnsync 同步" 与一个 URL 参数时, 恶意构建的 svn + ssh:///或 URL 会导致客户端运行任意 shell 命令。此类 URL 可能由恶意服务器、恶意用户提交到真实服务器 (攻击该服务器存储库的另一个用户) 或代理服务器生成。

Git版本控制软件漏洞影响(CVE-2017-1000117)

Bugtraq ID: 100283
Class: Input Validation Error
CVE: CVE-2017-1000117
Remote: Yes
Local: No
Published: Aug 10 2017 12:00AM
Updated: Aug 10 2017 12:00AM
Credit: Trevor Jay
Vulnerable: Ubuntu Ubuntu Linux 14.04 LTS 
Redhat Software Collections for RHEL 0 
Redhat Enterprise Linux 7 
Redhat Enterprise Linux 6 
+ Trustix Secure Enterprise Linux 2.0 
+ Trustix Secure Linux 2.2 
+ Trustix Secure Linux 2.1 
+ Trustix Secure Linux 2.0 
GIT GIT 2.14 
GIT GIT 2.13.4 
GIT GIT 2.13.3 
GIT GIT 2.13.2 
GIT GIT 2.13.1 
GIT GIT 2.13 
GIT GIT 2.12.3 
GIT GIT 2.12 
GIT GIT 2.11.2 
GIT GIT 2.11 
GIT GIT 2.10.3 
GIT GIT 2.10 
GIT GIT 2.9.4 
GIT GIT 2.9 
GIT GIT 2.8.5 
GIT GIT 2.8 
GIT GIT 2.7.5 
GIT GIT 2.7.1 
GIT GIT 2.7 
GIT GIT 2.6.7 
GIT GIT 2.6.1 
GIT GIT 2.6 
GIT GIT 2.5.6 
GIT GIT 2.5.4 
GIT GIT 2.5.3 
GIT GIT 2.5.2 
GIT GIT 2.5.1 
GIT GIT 2.5 
GIT GIT 2.4.12 
GIT GIT 2.4.10 
GIT GIT 2.4.9 
GIT GIT 2.4.8 
GIT GIT 2.4.7 
GIT GIT 2.4.6 
GIT GIT 2.4.5 
GIT GIT 2.4.4 
GIT GIT 2.4.3 
GIT GIT 2.4.2 
GIT GIT 2.4.1 
GIT GIT 2.3.10 
GIT GIT 2.3.9 
GIT GIT 2.3.8 
GIT GIT 2.3.7 
GIT GIT 2.3.6 
GIT GIT 2.3.5 
GIT GIT 2.3.4 
GIT GIT 2.3.3 
GIT GIT 2.3.2 
GIT GIT 2.3.1 
GIT GIT 2.3 
GIT GIT 2.2.1 
GIT GIT 2.2 
GIT GIT 2.1.4 
GIT GIT 2.1.3 
GIT GIT 2.1 
GIT GIT 2.0.5 
GIT GIT 2.0.4 
GIT GIT 2.0 
GIT GIT 1.9.5 
GIT GIT 1.9.4 
GIT GIT 1.9 
GIT GIT 1.8.5 6 
GIT GIT 1.7.2 
GIT GIT 1.6.3 .2 
GIT GIT 1.6 6 
GIT GIT 1.6 5 
GIT GIT 1.5.6 6 
GIT GIT 1.5.6 5 
GIT GIT 1.5.6 .4 
GIT GIT 1.5.6 .3 
GIT GIT 1.5.6 
GIT GIT 1.5.5 6 
GIT GIT 1.5.5 5 
GIT GIT 1.5.5 
GIT GIT 1.5.4 7 
GIT GIT 1.5.4 6 
GIT GIT 1.5.2 4 
GIT GIT 1.1.5 
GIT GIT 1.1.4 
GIT GIT 1.8.5.5 
GIT GIT 1.8.5.0 
GIT GIT 1.8.1.4 
GIT GIT 1.8.1.3 
GIT GIT 1.8 
GIT GIT 1.7.3.4 
GIT GIT 1.7.3.3 
GIT GIT 1.4.4.5 
Debian Linux 6.0 sparc 
Debian Linux 6.0 s/390 
Debian Linux 6.0 powerpc 
Debian Linux 6.0 mips 
Debian Linux 6.0 ia-64 
Debian Linux 6.0 ia-32 
Debian Linux 6.0 arm 
Debian Linux 6.0 amd64 
Atlassian SourceTree for Windows 0.5.1.0 
Atlassian SourceTree for macOS 1.0b2
Not Vulnerable: GIT GIT 2.14.1 
GIT GIT 2.13.5 
GIT GIT 2.12.4 
GIT GIT 2.11.3 
GIT GIT 2.10.4 
GIT GIT 2.9.5 
GIT GIT 2.8.6 
GIT GIT 2.7.6 
Atlassian SourceTree for Windows 2.1.10 
Atlassian SourceTree for macOS 2.6.1

SVN(Apache Subversion )版本控制软件漏洞影响(CVE-2017-9800)

Bugtraq ID: 100259
Class: Input Validation Error
CVE: CVE-2017-9800
Remote: Yes
Local: No
Published: Aug 10 2017 12:00AM
Updated: Aug 10 2017 12:00AM
Credit: Jonathan Nieder
Vulnerable: Redhat Enterprise Linux 7 
Redhat Enterprise Linux 6 
+ Trustix Secure Enterprise Linux 2.0 
+ Trustix Secure Linux 2.2 
+ Trustix Secure Linux 2.1 
+ Trustix Secure Linux 2.0 
Apache Subversion 1.9.6 
Apache Subversion 1.9.5 
Apache Subversion 1.9.4 
Apache Subversion 1.9.3 
Apache Subversion 1.9.2 
Apache Subversion 1.9.1 
Apache Subversion 1.9 
Apache Subversion 1.8.18 
Apache Subversion 1.8.17 
Apache Subversion 1.8.16 
Apache Subversion 1.8.11 
Apache Subversion 1.8.10 
Apache Subversion 1.8.9 
Apache Subversion 1.8.5 
Apache Subversion 1.8.1 
Apache Subversion 1.8 
Apache Subversion 1.7.19 
Apache Subversion 1.7.18 
Apache Subversion 1.7.17 
Apache Subversion 1.7.16 
Apache Subversion 1.7.11 
Apache Subversion 1.7.10 
Apache Subversion 1.7.1 
Apache Subversion 1.7 
Apache Subversion 1.6.23 
Apache Subversion 1.6.22 
Apache Subversion 1.6.21 
Apache Subversion 1.6.20 
Apache Subversion 1.6.19 
Apache Subversion 1.6.18 
Apache Subversion 1.6.14 
Apache Subversion 1.6.13 
Apache Subversion 1.6.12 
Apache Subversion 1.6.11 
Apache Subversion 1.6.10 
Apache Subversion 1.6.6 
Apache Subversion 1.6.5 
Apache Subversion 1.6.3 
Apache Subversion 1.6.2 
Apache Subversion 1.5.8 
Apache Subversion 1.5.7 
Apache Subversion 1.5.5 
Apache Subversion 1.5.4 
Apache Subversion 1.5.2 
Apache Subversion 1.4.6 
Apache Subversion 1.3.2 
Apache Subversion 1.0.9 
Apache Subversion 1.0.8 
Apache Subversion 1.0.7 
Apache Subversion 1.0.6 
Apache Subversion 1.0.2 
Apache Subversion 1.8.8 
Apache Subversion 1.8.7 
Apache Subversion 1.8.6 
Apache Subversion 1.8.4 
Apache Subversion 1.8.3 
Apache Subversion 1.8.2 
Apache Subversion 1.8.15 
Apache Subversion 1.8.14 
Apache Subversion 1.8.13 
Apache Subversion 1.7.9 
Apache Subversion 1.7.8 
Apache Subversion 1.7.7 
Apache Subversion 1.7.6 
Apache Subversion 1.7.5 
Apache Subversion 1.7.4 
Apache Subversion 1.7.3 
Apache Subversion 1.7.22 
Apache Subversion 1.7.21 
Apache Subversion 1.7.20 
Apache Subversion 1.7.2 
Apache Subversion 1.7.15 
Apache Subversion 1.7.14 
Apache Subversion 1.7.13 
Apache Subversion 1.7.12 
Apache Subversion 1.6.9 
Apache Subversion 1.6.8 
Apache Subversion 1.6.7 
Apache Subversion 1.6.4 
Apache Subversion 1.6.17 
Apache Subversion 1.6.16 
Apache Subversion 1.6.15 
Apache Subversion 1.6.1 
Apache Subversion 1.6.0 
Apache Subversion 1.5.6 
Apache Subversion 1.4.5 
Apache Subversion 1.4.4 
Apache Subversion 1.4.2 
Apache Subversion 1.4.1 
Apache Subversion 1.4.0 
Apache Subversion 1.3.1 
Apache Subversion 1.3.0 
Apache Subversion 1.2.3 
Apache Subversion 1.2.2 
Apache Subversion 1.2.1 
Apache Subversion 1.1.3 
Apache Subversion 1.1.2 
Apache Subversion 1.1.1 
Apache Subversion 1.1.0 
Apache Subversion 1.0.5 
Apache Subversion 1.0.4 
Apache Subversion 1.0.3 
Apache Subversion 1.0.1
Not Vulnerable: Apache Subversion 1.9.7 
Apache Subversion 1.8.19

三个版本控制软件已经有解决办法

Git、Subversion 和Mercurial 的开发者发布了补丁, 并提供了缓解方法。Git 系统由流行的 Linux 发行版使用, 它们也在处理这个问题。GitLab 还发布了针对此漏洞的修补程序, 组织已将其归类为 "关键"。

虽然并非所有受影响的组织都将该缺陷评为 "关键", 但 Subversion 开发人员已将其指定为最高的严重性等级。Schneeweisz 在星期四的一篇博文中解释说, 颠覆 "受到了最坏的影响"。



原文发布时间:2017年8月18日

本文由:securityWeek 发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/git-svn-mercurial-cvs-rce

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

上一篇:一对多的处理| 学习笔记


下一篇:AOP之PostSharp7-解决IOC 不能直接new问题,简化IOC开发和IOC对象LazyLoad