【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:141368
用户头像

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

关注

评论

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

Apache Flink 在实时金融数据湖的应用

Apache Flink

flink

区块链数字货币交易所系统软件APP开发

系统开发

基于 KubeEdge 和 Kuiper 的边缘流式数据处理实践

华为云原生团队

数据库 云原生 边缘计算 华为云 边缘技术

新“庖丁解牛”,华为云技术全牛图解

陈泽涛

架构师训练营第三周作业 -命题作业

阿德儿

吉他谱怎么看?看谱大攻略送上!

懒得勤快

音乐 吉他学习 吉他谱 看谱

【CSS】画三角形(8个角度及其原理)

德育处主任

CSS html5 大前端 CSS小技巧 28天写作

15个国内外最受欢迎的YouTube视频下载器

科技猫

youtube视频下载 油管视频下载 下载youtube视频 下载油管视频 视频下载器

大数据知识专栏 -MapReduce 自定义计数器技术

小马哥

大数据 mapreduce 七日更

备忘录1

Vei

【Java虚拟机】- Java虚拟机之逃逸分析

双木之林

图解分布式之:最终一致性,一致只会迟到,但绝不缺席

四猿外

架构 分布式 分布式系统 一致性 数据一致性

2021最新版阿里巴巴Java性能调优速成手册强烈推荐

比伯

Java 编程 架构 面试 架构师

volatile,还可以有这么硬的理解

Java 程序员 线程

Android经典面试:46道面试题带你了解中高级Android面试,附面试题答案

欢喜学安卓

android 程序员 面试 移动开发

android开发培训!深度解析跳槽从开始到结束完整流程,系列篇

欢喜学安卓

android 程序员 面试 移动开发

认识产品经理(第一节)

让我思考一会儿

Redis 学习笔记 08:数据结构与对象小结

架构精进之路

redis 七日更 28天写作

简单五步:利用Gitstats给代码仓库做一次体检

后台技术汇

28天写作

如何 3 步一键部署开源容器应用?

binggg

Docker 开源 Serverless 云开发 应用

初步解析 Elasticsearch Document 核心元数据

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

Kafka 中的消息存储在磁盘上的目录布局是怎样的?

码农架构

Java kafka 架构 设计模式

《价值》- 护城河(6)

石云升

读书笔记 护城河 28天写作

即构✖叮咚课堂:行业第一套AI课堂解决方案是怎么被实现的?

ZEGO即构

Web UI自动化测试之元素定位

行者AI

软件测试 测试 自动化测试

AQS之ReentrantReadWriteLock精讲分析上篇

伯阳

AQS 读写锁 ReentrantReadWriteLock 多线程与高并发 lock

快了何止100%?阿里巴巴Java性能调优实战(2021华山版)PDF版开源

Java架构追梦

Java 阿里巴巴 架构 性能优化 华山版

比特币矿机工作原理

v16629866266

合约交易APP系统开发|合约交易软件开发

系统开发

Hadoop编程实战:HDFS用户Shell详解

罗小龙

hadoop 最佳实践 28天写作 hdfs shell

【Redis】- Redis Cluser之数据分布

双木之林

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