image

Git CLI(命令行界面)中存在一个高危漏洞,攻击者可利用该漏洞在Linux和macOS系统上实现任意文件写入。目前该漏洞的概念验证(PoC)利用代码已公开。

该漏洞编号为CVE-2025-48384,CVSS严重性评分为8.1分(满分10分)。当用户执行git clone --recursive命令克隆恶意仓库时,攻击者可借此实现远程代码执行。

**关键要点**  
1. CVE-2025-48384(CVSS 8.1分)漏洞允许攻击者在Linux/macOS系统上通过恶意仓库的`git clone --recursive`操作实现任意文件写入  
2. 攻击者可注入恶意Git Hook脚本,这些脚本会在`git commit`和`git merge`操作时自动执行  
3. 建议升级至已修复版本(v2.43.7、v2.44.4、v2.45.4、v2.46.4、v2.47.3、v2.48.2、v2.49.1、v2.50.1),macOS用户应使用Git CLI而非GitHub Desktop  
4. 目前公开的概念验证利用代码已出现,开发环境需立即采取修复措施

漏洞技术细节

据安全研究员Matt Muir和Linux Malware团队披露,CVE-2025-48384漏洞源于Git在处理类UNIX系统上的.gitmodules文件时,对配置值和回车符(\r)字符的基础性解析缺陷。

该漏洞的根本原因是Git在读取和写入包含控制字符的配置值时存在关键性不一致。当攻击者构造一个子模块路径以回车符结尾的恶意.gitmodules文件时,Git的配置解析器会在读取操作时剥离该字符,但在写入操作时却保留该字符。

这种解析不一致性导致子模块内容可被恶意重定向至任意文件系统位置。该漏洞特别影响macOS和Linux平台上未打补丁的Git CLI版本(v2.43.7、v2.44.4、v2.45.4、v2.46.4、v2.47.3、v2.48.2、v2.49.1和v2.50.1之前的版本)。值得注意的是,由于非UNIX系统在控制字符处理上的根本差异,Windows系统不受此漏洞影响。

macOS平台的GitHub Desktop客户端尤其容易受到攻击,因为它在底层默认执行git clone --recursive操作。DataDog研究人员已发现多种利用该任意文件写入原语实现持久性远程代码执行的攻击路径。

最常见的攻击场景涉及武器化仓库:攻击者发布带有README说明的仓库,诱导用户执行git clone --recursive命令——这种做法在开源项目中经常被推荐使用。一旦克隆了恶意仓库,攻击者就能将仓库子模块中包含的Git Hook脚本直接写入受害者的.git子目录中。

这些恶意负载会在常规Git操作(如git commitgit merge命令)时自动执行,为攻击者提供透明的持久化机制。其他利用技术还包括覆盖受害者的Git配置文件,修改[remote "origin"]部分,从而将知识产权和专有源代码秘密外泄至攻击者控制的服务器。

安全研究人员已验证了可向/tmp目录实现任意写入的概念验证利用代码,相关代码已在互联网公开。

风险因素详情
受影响产品Linux和macOS上v2.43.7、v2.44.4、v2.45.4、v2.46.4、v2.47.3、v2.48.2、v2.49.1、v2.50.1之前的Git CLI版本;macOS平台的GitHub Desktop客户端(未打补丁版本)
影响任意文件写入
利用前提可通过公共托管平台访问的仓库或社会工程学攻击
CVSS 3.1评分8.1(高危)

修复建议

企业必须立即通过各自的包管理器将受影响的Git CLI升级至已修复版本(v2.43.7、v2.44.4、v2.45.4、v2.46.4、v2.47.3、v2.48.2、v2.49.1或v2.50.1)。用户可通过执行git --version命令验证当前Git版本,并与存在漏洞的版本范围(包括v2.50.0、v2.49.0、v2.48.0-v2.48.1、v2.47.0-v2.47.2、v2.46.0-v2.46.3、v2.45.0-v2.45.3、v2.44.0-v2.44.3以及v2.43.6及更早版本)进行比对。

macOS平台的GitHub Desktop用户应暂时避免使用该客户端进行Git操作,转而使用已打补丁的Git CLI进行仓库管理,直至官方发布修复补丁。

安全团队可实施检测机制,使用自定义代理规则监控针对外部仓库的可疑git clone --recursive操作,同时在克隆不受信任的仓库前审计.gitmodules文件内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914815.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914815.shtml
英文地址,请注明出处:http://en.pswp.cn/news/914815.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端开发中关于表单内容的使用和基础知识

在前边,我们已经写过Web前端开发,Web前端开发,万字详细博文带你HTML,CSS快速入门(上篇)和Web前端开发,一文带你HTML,CSS快速入门(下篇),使用近两万…

linux 安装mysql保姆教程

安装包下载地址: MySQL :: Download MySQL Community Server (Archived Versions) 解压到安装包: tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz 创建Mysql用户组和用户 groupadd mysql useradd -r -g mysql mysql 编译安装并初始化 进入/home/mysql/m…

Android系统的问题分析笔记 - Android上的调试方式 bugreport

在Android开发和系统调试中,bugreport(错误报告) 是一份包含设备详细系统状态、运行日志及应用行为的综合报告,是定位和诊断App崩溃、系统异常、性能问题等的核心工具。无论是开发者排查用户反馈的问题,还是设备厂商调…

GESP2025年6月认证C++四级( 第三部分编程题(2)排序)

参考程序&#xff1a;#include <cstdio> #include <algorithm> #include <vector> #include <iostream> using namespace std;int main() {int n, ans 0;// 读取学生人数scanf("%d", &n);// 用 vector 存储每个学生的身高和体重&#x…

SQL155 大小写混乱时的筛选统计

SQL155 大小写混乱时的筛选统计 题目理解 假设我们有一个考试系统数据库&#xff0c;里面有&#xff1a; exam_record表&#xff1a;记录学生考试作答情况examination_info表&#xff1a;记录考试信息&#xff0c;包括每个考试的类别标签(tag) ​问题描述​&#xff1a; 有…

无人机图像中的小目标检测新利器:深入解析 LAM-YOLO 模型

【导读】 随着无人机技术的发展&#xff0c;从交通监控到农业测绘&#xff0c;各类任务中对“空中视角下的小目标检测”需求激增。然而&#xff0c;由于无人机拍摄视角多变、目标尺寸微小、环境光照复杂等因素&#xff0c;传统检测模型常常出现“漏检”“误检”问题。 LAM-YO…

Rust 基础大纲

Rust 基础大纲1.Summary安装教材2 Rust 源1.Summary 安装 https://www.rust-lang.org/zh-CN/tools/install curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh# 安装完成后&#xff0c;验证是否成功 rustc -V cargo -V# 创建项目 cargo new my_project # 编译项…

PostgreSQL 大数据量(超过50GB)导出方案

1.正常导出导出指定库./pg_dump -d test_db -p 2360 > /home/softwares/postgresql/test_db.sql导出指定表./pg_dump -p 2360 -U postgres -t test_schema.test_table test_db > /home/softwares/postgresql/m.sql-t参数说明&#xff0c;-t test_schema.test_table test…

终端安全最佳实践

什么是终端安全&#xff1f;终端安全通过保护组织中的设备的过程&#xff0c;来保护公司网络免受漏洞和网络攻击。主要的任务包括&#xff1a;更新终端补丁、遵循相关安全标准和要求、满足各种合规性策略设置等等。终端安全和防病毒之间的区别是什么&#xff1f;杀毒软件可以帮…

【UE4 UE5】UE设置屏幕分辨率 全屏、窗口设置的方法

1.在蓝图中设置如下 设置全屏模式蓝图节点可以选择全屏或者窗口 2.通过执行控制台命令设置 注意:"x"是英文字母x w:窗口 f:全屏 3.通过修改项目配置文件设置。 打开 项目路径\Saved\Config\Windows下的GameUserSettings.ini文件 在文件中进行相应修改 ​…

非控制器(如 Service、工具类)中便捷地获取当前 HTTP 请求的上下文信息

非控制器&#xff08;如 Service、工具类&#xff09;中便捷地获取当前 HTTP 请求的上下文信息 在 Spring 框架的 Web 开发中&#xff0c;RequestContextHolder 是一个非常实用的工具类&#xff0c;它的主要作用是在非控制器&#xff08;如 Service、工具类&#xff09;中便捷地…

Excel处理控件Aspose.Cells教程:使用 Python 在 Excel 中创建甘特图

时间轴上的任务可视化有助于更好地管理项目。本文将学习如何使用Aspose.Cells for Python 通过 .NET在 Excel 中创建甘特图。只需几行代码&#xff0c;即可将简单的任务数据转换为动态清晰的可视化时间轴&#xff0c;非常适合用于报表、仪表板和规划文档。 Aspose.Cells官方试…

【RK3568 平台I2C协议与AGS10驱动开发】

RK3568 平台I2C协议与AGS10驱动开发一、I2C 总线协议基础二、I2C 通信过程详解三、AGS10 传感器概述四、AGS10驱动开发1. 硬件连接2. 设备树&#xff08;DTS&#xff09;配置3. 内核驱动开发五、调试与验证六、总结引言在嵌入式系统开发中&#xff0c;传感器数据采集是常见需求…

arm版本的ubuntu安装git或者vim等方法

看起来你在基于 ARM 的 Ubuntu 系统上安装 Vim 时遇到了问题&#xff0c;错误提示为“E: 无法定位软件包 vim”。这通常是因为系统的软件包列表未更新&#xff0c;或者该软件包在你检查的标准软件源中不可用。以下是通常可以解决这个问题的方法&#xff1a;1. 更新软件包列表“…

MFC扩展库BCGControlBar Pro v36.2新版亮点:可视化设计器升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中&#xff0c;并为您节省数百个开发和调试时间。 BCGControlBar专业版 v36.2已全新发布了&#xff0c;在这个版本中添加了一个新的扩展器控件、改进了网格和报表…

小杰学C(eleven day)——莫道浮云终蔽日,总有云开雾散时。

1.结构体&#xff08;1&#xff09;内容定义&#xff1a;1.用户自定义的数据类型2.可以包含若干不同数据类型&#xff08;可相同&#xff09;的成员变量3.这些数据项组合起来反应某一信息格式&#xff1a;struct 结构体名 (用户自定义的数据类型){数据类型 成员变量1;数据类型 …

海豚远程控制APP:随时随地,轻松掌控手机

在快节奏的现代生活中&#xff0c;我们常常需要在不同设备之间切换&#xff0c;管理手机也变得越来越重要。无论是远程办公、远程学习还是日常生活中对手机的管理&#xff0c;一款高效、便捷的远程控制软件都能极大地提升我们的效率。海豚远程控制APP正是这样一款功能强大的手机…

Linux/Ubuntu安装go

Linux/Ubuntu安装go1. 首先移除旧版本&#xff08;如有&#xff09;&#xff1a;2. 下载Go 1.23.9安装包&#xff1a;3. 解压到系统目录&#xff1a;4. 设置环境变量&#xff08;添加到~/.profile或~/.bashrc文件末尾&#xff09;&#xff1a;5.使环境变量生效&#xff1a;6. 验…

教程:如何快速查询 A 股实时 K线和5档盘口

实时行情数据是量化交易策略、看板系统和交易决策系统的重要输入。本文将以 Infoway API 提供的 WebSocket API 为例&#xff0c;教你如何使用 Python 快速接入并获取 A 股的实时 K线数据 和 盘口数据。一、准备工作安装 WebSocket 库&#xff1a;pip install websockets二、查…

施易德门店管理系统应用案例分析:零售女装品牌伊芙丽的全球化布局

在零售品牌的全球化进程中&#xff0c;如何应对不同市场的合规要求、实现本地化精细化运营&#xff0c;是企业面临的重要课题。施易德&#xff08;Cegid&#xff09;门店管理系统凭借40年的全球零售数字化服务经验&#xff0c;为多个品牌的海外拓展提供了支持。其中&#xff0c…