博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git漏洞导致攻击者可在用户电脑上运行任意代码
阅读量:7049 次
发布时间:2019-06-28

本文共 855 字,大约阅读时间需要 2 分钟。

\

看新闻很累?看技术新闻更累?试试,每天上下班路上听新闻,有趣还有料!

\
\\

Git子模块名称验证中的一个缺陷使得远程攻击者可能在开发者机器上执行任意代码。另外,攻击者可以访问部分系统内存。这两个漏洞已经在Git 2.17.1、2.16.4、2.15.2和其他版本中得到了修复。

\\

安全研究员Etienne Stalmans报告了该漏洞,未打补丁的Git版本不验证子模块名称,因此

\\
\

在克隆代码仓库时,远程仓库可以返回特定的数据来创建或覆盖目标用户系统上的文件,从而可以在目标用户系统上执行任意代码。

\
\\

具体来说,Git会镜像$GIT_DIR/modules目录中的子模块,这些子模块的名字是在$GIT_DIR/.gitmodules中定义的。通过修改.gitmodules文件的内容,可以将../嵌入到子模块名称中,以欺骗Git将子模块写到仓库以外的地方。再加上一个恶意的post-checkout钩子,这就有可能在克隆仓库后立即运行恶意代码。

\\

要修复这个问题,需要给子模块名称增加一些规则,不符合规则的名称将被Git忽略。基本上,..和符号链接是不被允许的。这样可以确保子模块目录不会被保存到$GIT_DIR之外。

\\

Stalmans表示,他可以利用此漏洞在GitHub页面上执行远程代码,不过到目前为止没有出现漏洞被利用的情况。

\\

第二个已修补的漏洞与使用NTFS文件系统的仓库有关,攻击者通过欺骗NTFS路径健全性检查来读取随机内存中的内容。

\\

Git社区已经及时在Git 2.13.7版本中修复了这两个漏洞,修复补丁也已移植到2.14.4、2.15.2、2.16.4和2.17.1中。此外,作为附加安全级别,如果代码仓库包含有问题.gitmodules文件,这些版本将拒绝接受来自用户的推送内容。这是为了:

\\
\

帮助托管网站保护使用老版客户端的用户,防止恶意内容传播。

\
\\

GitHub和其他托管服务已经修补了他们的系统。

\\

查看英文原文

转载地址:http://odcol.baihongyu.com/

你可能感兴趣的文章
linux文件操作之系统调用
查看>>
《飞机大战》安卓游戏开发源码(二)
查看>>
2017总结、计划——IT人应该拥有什么样子的价值观与实践能力
查看>>
Linux设备驱动入门之hello驱动
查看>>
vim 的一些简单使用
查看>>
maven构建spring4-hibernate4-webapp
查看>>
当网络连接再次遇上存储
查看>>
Hyper-V系列---快速导入导出虚拟机
查看>>
py文件缩进问题检查
查看>>
『ExtJS』表单(一)常用表单控件及内置验证
查看>>
我的友情链接
查看>>
CentOS6.6重设root密码(单用户模式)
查看>>
PHP CodeBase: 通过新浪微博API获取数据
查看>>
git add
查看>>
dubbo与Zookeeper的关系
查看>>
http
查看>>
Python Event
查看>>
apex pl/sql 动态获取周数列表
查看>>
完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
查看>>
Java API设计清单
查看>>