AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

小小的分页引发的加班血案

架构师修行之路

架构

高并发系统三大利器之降级

root

比特币挖矿到底挖的是什么?

CECBC

比特币 区块链 数字货币

【持续更新~】常遗忘却可以变更好的心态

01Running

个人成长

架构师训练营第十二周总结

张明森

pandas ~基础pandas

南辞

Python

程序的机器级表示-控制

引花眠

计算机基础

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

张明森

软件产品的创新与宇宙奇点大爆炸

常平

方法论 产品思维 架构思维

面经手册 · 第8篇《LinkedList插入速度比ArrayList快?你确定吗?》

小傅哥

Java 数据结构 面试 小傅哥 linkedlist

SpringBoot+Tess4j实现牛逼的OCR识别工具

小隐乐乐

麦叔告诉你,Linux下安装nginx都踩了那些坑

麦洛

nginx Linux

翻转链表算法、自动化测试框架robot-framework、两款iOS 在手机端debugging 工具Flex、啄木鸟、加密技术 高可用系统的度量 高可用系统的架构 高可用系统的运维 John 易筋 ARTS 打卡 Week 15

John(易筋)

ARTS 打卡计划 高可用系统的架构 翻转链表 自动化测试Robot 手机调试工具Flex

oeasy教您玩转linux010109clear清屏

o

5G边缘计算:开源架起5G MEC生态发展新通路

华为云开发者联盟

开源 5G 边缘计算 公有云 EdgeGallery

图解Node(上)——直击灵魂的十条拷问

执鸢者

大前端 原理 Node

ARTS打卡 第14周

引花眠

微服务 ARTS 打卡计划

oeasy教您玩转linux010108到底哪个which

o

30年技术积累,技术流RTC如何成为视频直播领域的黑马?

华为云开发者联盟

云计算 AI 5G RTC 华为云

基于区块链的社会治理探索

CECBC

区块链 大数据 信息技术

Flink检查点、保存点及状态恢复-13

小知识点

scala 大数据 flink

LeetCode 5. Longest Palindromic Substring

liu_liu

算法 LeetCode

雪花算法把玩

ElvinYang

k8s-client-go源码剖析(二)

远鹏

Kubernetes 源码剖析 Go 语言

大事情!中国限制 AI 算法出口。网友:这是要阻止XX“下跪”

程序员生活志

ARTS Week14

时之虫

ARTS 打卡计划

Ray 分布式计算框架详解

lipi

分布式 数据湖 pandas Apache Arrow

【读书笔记一】《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》

Man

中台 阿里 中台战略

Docker 镜像的备份恢复迁移

哈喽沃德先生

Docker 容器 微服务 镜像

JVM的早期优化与晚期优化

Edison

JVM JVM虚拟机原理

你真的懂 Java 的 main 方法吗

Rayjun

Java

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