【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

Git 漏洞导致攻击者可在用户电脑上运行任意代码

  • 2018-06-05
  • 本文字数:780 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

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 和其他托管服务已经修补了他们的系统。

查看英文原文 Git Vulnerability May Lead to Arbitrary Code Execution

2018-06-05 16:141364
用户头像

发布了 731 篇内容, 共 433.3 次阅读, 收获喜欢 1997 次。

关注

评论

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

极光无限:用AI赋能安全 解决安全行业人才紧缺难题

风向标

人工智能

技术解读丨目标检测之RepPoints系列算法

华为云开发者联盟

算法 神经 目标检查

数据库选型入门必读:如何在眼花缭乱的产品中挑出最适合业务的?

华为云开发者联盟

数据库 数据库选择 关系型

一周信创舆情观察(9.21~9.27)

统小信uos

甲方日常 25

句子

生活 随笔杂谈 日常

第三课代码重构课后作业

Geek_michael

极客大学架构师训练营

一个草根的日常杂碎(9月29日)

刘新吾

随笔杂谈 生活记录 社会百态

中秋佳节,程序员教你AI三步成诗,秒变“李白”

华为云开发者联盟

AI 中秋

GitHub上标星68k,基于SpringBoot+Netty分布式开源的即时通讯系统项目

Java架构之路

Java 程序员 编程语言 Netty 项目实战

区块链掀起全民创业热潮!数字资产是未来全球最具前景和价值的!

CECBC

区块链 数字货币

全文!马云对数字时代全球化的全新解读

CECBC

全球化 数字时代

架构师训练营 1 期第 3 周:代码重构 - 作业

piercebn

极客大学架构师训练营

不是我不小心

escray

Java ruby ruby-on-rails 面试 面经

国内上市进程或将提速!百度宣布小度科技独立融资

脑极体

LeetCode题解:242. 有效的字母异位词,数组排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

第三周学习代码重构总结

三板斧

极客大学架构师训练营

上手深度学习之前,我们先聊聊“数学”

华为云开发者联盟

神经网络 学习 数学

开源=免费?

Philips

开源 开源社区

单例模式

knight

关于 UML 类图

西贝

UML 图表

在vue2中使用ts

正经工程师

typescript vue.js

阿里内部超流行的“SpringBoot+ 微服务指南”,理论与实战双管齐下

Java架构之路

Java 程序员 微服务 Spring Boot 编程语言

架构师训练营 - 作业 - 第二周

Max2012

重塑产业+价值共识,区块链助力供应链金融数字化

CECBC

区块链 供应链物链

代码重构 - 课后作业

Nick~毓

java安全编码指南之:死锁dead lock

程序那些事

java安全编码 java安全 java安全编码指南

2020HC大会上,这群人在讨论云原生…

华为云开发者联盟

华为 华为云 大会

软件架构(2)-框架设计

Zeke

极客大学架构师训练营

深入剖析 | Java15语法特性

九叔(高翔龙)

Java 架构 Java 分布式 java15新特性

从三个产业侧影,打开万物智能的应用之匙

脑极体

谈谈测试

BigBang!

测试的价值 测试文化 测试落地

Git漏洞导致攻击者可在用户电脑上运行任意代码_开源_Sergio De Simone_InfoQ精选文章