写点什么

Git 和 Mercurial 在 OS X 和 Windows 上现严重漏洞

2014 年 12 月 22 日

12 月 18 日,一项影响 Git 和 Mercurial 的严重安全漏洞公布,它使攻击者可以在客户机上执行任意命令。该漏洞只影响运行在OS X (HFS+)和Windows(NTFS、FAT)上的客户端。Git 核心团队已经为Git 的所有当前版本发布了新版本。

Junio C Hamano 自 2005 年起就是 Git 的维护者,他在博客中描述了该漏洞:

在位于工作树根目录.git/ 下的文件中,Git 维护了库的各种元数据信息。在项目过程中,系统不允许提交那个目录(如.git/config)下的文件,或者从项目检出到工作树。否则,用户可能会无意间对一个看似没有问题实则有恶意的库执行了 git pull,使她库中的元数据信息被覆盖了,或者她所拉取的库的所有者(如攻击者)安装了可执行的钩子。

Junio 继续写道,在不区分大小写的文件系统中,这种防护已被发现不够用,因为,攻击者可以提交一个.Git/anything 文件替换.git 目录中的相应文件。因此,所有使用 FAT 或 NTFS 的 Windows 版本和使用不区分大小写的 HFS+(默认选项)的 OS X 版本都容易受到攻击。

该漏洞还能以其它方式利用。实际上,Windows 和 OS X 都可以将某些不同于.git 的路径元素映射成.git,比如,Windows 上的 git~1/config 和 OS X 上的.g\u200cit/config 都可以当作.git/config 同等对待。

据悉,该漏洞不会影响 Linux 系统,除非它们使用了不区分大小写的文件系统,但这不是一种常见的选择。

微软已经为他们的工具发布了补丁,其中包括Visual Studio 2013 RTM、Visual Studio 2013 Update 4 和VS 2012 VSIX 扩展。而且,虽然该漏洞只影响客户端,但微软还是“在VS Online 和Codeplex 上应用了一个补丁,防止服务器接受推送的.git/config 文件。”

苹果也发布了一个新的Xcode 6.2 beta3 版本来修复该漏洞:“检查包括禁止没有为不区分大小写或Unicode 字符做出解释的路径。该问题通过增加额外的检查得以解决。”

最后,GitHub宣布,他们“已经对github.com 上现有的所有内容完成了自动扫描,查找可能在我们发现这个漏洞之前就已经推送到我们站点的恶意内容”,并进行了一项修改,确保“托管在github.com 上的库不包含任何能够触发该漏洞的恶意工作树。”

查看英文原文: Critical Git and Mercurial Vulnerability on OS X and Windows

2014 年 12 月 22 日 23:311608
用户头像

发布了 1008 篇内容, 共 312.8 次阅读, 收获喜欢 281 次。

关注

评论

发布
暂无评论
发现更多内容

Ubuntu 20.04 上安装和配置 VNC

酱紫的小白兔

架构师训练营第7周总结

时来运转

深入理解 JS 参数传递

墨子苏

Java 前端

Presto性能调优的五大技巧

华为云开发者社区

大数据 数据 内存 存储 华为云

一文读懂数据库中的乐观锁和悲观锁和MVCC

X先生

数据库 乐观锁 悲观锁 并发控制

架构师训练营第七周作业-性能测试

sunnywhy

架构师训练营第7周作业

时来运转

腾讯的背水一战还是奋力一搏? | 互联网

chaozh

女娲造物与补天 | 中国古神话

chaozh

JVM 垃圾回收器 CMS

Alex🐒

JVM 深入理解JVM GC

创世 | 中国古神话

chaozh

神话

每个现代人都应该知道的包豪斯| 艺术

chaozh

神国统治者 | 中国古神话

chaozh

JVM 垃圾回收器 G1

Alex🐒

JVM 深入理解JVM GC

JVM 类加载机制

Alex🐒

JVM 深入理解JVM

深入 Java Web 技术内幕(二)浅析DNS域名解析过程

itlemon

DNS 域名解析

程序员面试必备战衣 | T恤衫 - 程序员穿搭

chaozh

GEEK

Spring Cloud微服务技术栈:搭建高可用Eureka Server、服务注册与发现

itlemon

Spring Cloud

数据产品经理必备技能大纲

Jackchang234987

产品 产品经理 数据

彻底弄懂C++11右值引用 | 技术总结

chaozh

c++

深入理解 JS 中的 this

墨子苏

Java 前端

深入Java Web技术内幕(一)浅析Web请求过程

itlemon

Java

JVM 对象内存布局

Alex🐒

JVM 深入理解JVM

人民自己创造的节日 | 经济

chaozh

Phobos新变种藏身系统激活工具再掀勒索风暴,360安全大脑强力“截杀”

360安全卫士

如何挑选编程笔记本 | 数码产品

chaozh

Combine中@Published浅析

kingnight_pig

swift Combine Publisher

极客时间架构师训练营week7作业

好名字

极客大学架构师训练营 作业

压测工具如何选择?

elfkingw

优雅地利用c++编程从1乘到20 | 技术总结

chaozh

c++

深入理解 JS 中的变量提升

墨子苏

Java 前端

混合云之争的开端与终途

混合云之争的开端与终途

Git和Mercurial在OS X和Windows上现严重漏洞-InfoQ