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

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

相关文章
|
7天前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
37 1
|
11天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
36 0
Git教程:深入了解删除分支的命令
|
22天前
|
开发工具 git
记IDEA Git版本回退并push到远程操作
记IDEA Git版本回退并push到远程操作
28 1
记IDEA Git版本回退并push到远程操作
|
28天前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
33 0
|
28天前
|
开发工具 git
git常用命令整理
git常用命令整理
13 0
|
30天前
|
开发工具 git
【git 实用指南】git 修复错误提交,版本回退
【git 实用指南】git 修复错误提交,版本回退
22 1
|
16天前
|
开发工具 git 开发者
Git常用命令大全:让你轻松驾驭版本控制
Git命令速查:`git init`新建仓库,`git clone`克隆,`git add`入暂存区,`git commit -m`提交,`git status`查看状态,`git log`查看历史,`git branch`创建分支,`git checkout`切换,`git merge`合并,`git pull`拉取更新,`git push`推送,`git remote -v`查看远程,`git checkout --`撤销本地修改,`git reset HEAD`取消暂存,`git reset --hard`回退版本。掌握这些,提升代码管理效率!
16 0
|
24天前
|
算法 开发工具 git
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
90 0
|
27天前
|
Shell Linux 开发工具
【Shell 命令集合 系统管理 】Linux 查看当前Git仓库的提交历史 gitps命令 使用指南
【Shell 命令集合 系统管理 】Linux 查看当前Git仓库的提交历史 gitps命令 使用指南
14 0
|
29天前
|
开发工具 git
IDEA通过git回滚到某个提交节点或某个版本的操作方法
IDEA通过git回滚到某个提交节点或某个版本的操作方法
15 0