版本控制软件爆出远程命令执行漏洞 涉及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

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

相关文章
|
6月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
1447 15
|
9月前
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
355 4
|
9月前
|
Java Linux 开发工具
Linux下版本控制器(SVN) -命令行客户端
Linux下版本控制器(SVN) -命令行客户端
326 4
|
9月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
384 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
11月前
|
Linux 开发工具 git
版本控制工具:Git的安装和基本命令使用指南。
结束这段探险,掌握了Git你就等于掌握了一个宝藏,随时可以瞥见你的编程历程,轻松面对日后的挑战。Git,无疑是编程者的强大武器,开始你的Git探险之旅吧!
409 28
|
测试技术 持续交付 开发工具
Git版本控制在团队协作中具有重要作用
Git版本控制在团队协作中具有重要作用
496 154
|
存储 安全 开发工具
Git 对比 SVN 的区别和优势
Git和SVN各有优劣,选择哪种工具取决于项目的具体需求和团队的协作模式。Git适合大型、复杂、需要频繁分支和合并操作的项目,而SVN则更适合小型项目和集中式团队协作。通过本文的对比分析,开发者可以更好地理解两者
1493 13
|
存储 项目管理 开发工具
掌握Git版本控制,提升团队协作效率
掌握Git版本控制,提升团队协作效率
310 0
|
9月前
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
555 57
|
7月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
2228 0