【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

MySQL数据库升级后如何防止性能下降

@零度

MySQL

在线JSON转sarcastic工具

入门小站

工具

【教程直播第4期】揭秘数据迁移之 OceanBase CDC & OMS 社区版能力

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版

百度搜索中台海量数据管理的云原生和智能化实践

百度Geek说

架构 云原生 后端 百度搜索

资本巨头纷纷入局,DAO究竟有何魔力?

旺链科技

区块链 组织 DAO

恒源云(GPUSHARE)_LLD: 内部数据指导的标签去噪方法【ACL 2022】

恒源云

人工智能 深度学习

记字节前端面试一道简单的算法题

全栈潇晨

LeetCode 算法面试

30个类手写Spring核心原理之自定义ORM(上)(6)

Tom弹架构

Java spring 源码

大数据之面试篇之Hadoop/HDFS/Yarn

@零度

大数据 面试题

DataPipeline实时数据融合产品入驻青云云市场,催化企业数据价值释放

DataPipeline数见科技

大数据 中间件 Big Data 数据融合 数据管理

公安情报研判系统开发,情报可视化分析研判平台解决方案

电微13828808271

智慧社区综合服务管理平台,社区管理系统搭建

电微13828808271

跳出问题限制来解决问题-cacerts证书库的证书丢失的解决

superman

跳出问题解决问题 命题似解决 cacerts证书库

Vue 路由组件传参的 8 种方式

编程江湖

Vue 前端开发

Java 泛型通配符详解

编程江湖

JAVA开发 java编程

养孩子到底有多难?

Tiger

28天写作

Kafka-Broker的基本模块

编程江湖

大数据

Java开发之命名规范

@零度

Java 命名规范

拍乐云测试自动化实践

拍乐云Pano

DevOps 敏捷开发 自动化测试

一文搞懂TopK问题

bigsai

数据结构 算法

Linux一学就会之Linux系统启动原理及故障排除

学神来啦

Linux 运维 黑客 linux运维 linux云计算

带你尝鲜LiteOS 组件EasyFlash

华为云开发者联盟

LiteOS 组件 EasyFlash 嵌入式闪存库 Flash

重点人员动态管控系统开发,智慧公安预警管控平台

电微13828808271

react源码解析13.hooks源码

buchila11

React

react源码解析14.手写hooks

buchila11

React

【北京讲座报名!】12月26日与深度学习大牛共赋技术之约!

亚马逊云科技 (Amazon Web Services)

人工智能 深度学习 活动 ML

Linux之mv命令

入门小站

Linux

volatile和synchronzied的区别

悟空聊架构

synchronized 28天写作 悟空聊架构 12月日更 volatitle

dart系列之:dart优秀的秘诀-隔离机制

程序那些事

flutter dart 程序那些事 12月日更 flutter for web

VUEX的store用法

CRMEB

10个常见的前端手写功能,你全都会吗?

CRMEB

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