【漏洞通告】Git子模块路径回车符导致远程代码执行漏洞 (CVE-2025-48384)

原文链接: https://mp.weixin.qq.com/s?__biz=MzkzNzY5OTg2Ng==&mid=2247501285&idx=2&sn=1d1391c95628f8b6e92b9e233847c3ba

【漏洞通告】Git子模块路径回车符导致远程代码执行漏洞 (CVE-2025-48384)

启明星辰安全简讯 2025-07-09 07:00

一、漏洞概述

漏洞名称

Git子模块路径回车符导致远程代码执行漏洞

CVE ID

CVE-2025-48384

漏洞类型

命令执行

发现时间

2025-07-09

漏洞评分

8.0

漏洞等级

高危

攻击向量

网络

所需权限

利用难度

用户交互

需要

PoC/EXP

已公开

在野利用

未发现

Git是一个分布式版本控制系统,用于跟踪文件变化并协作开发软件。由Linus Torvalds于2005年创建,Git允许多个开发者并行工作,管理源代码历史记录。它支持本地操作,用户无需连接到中央服务器即可进行版本控制。Git的核心特点包括高效的分支管理、合并功能、以及支持大规模项目的能力。通过命令行和图形界面工具(如GitHub Desktop)可以与Git仓库进行交互,广泛应用于开源和私有软件项目中。

2025年7月8日,启明星辰集团VSRC监测到Git中的一个远程代码执行漏洞,影响类Unix平台。该漏洞源于Git配置文件对回车符(CR)的处理不当。在使用git clone –recursive命令时,Git会从.gitmodules文件读取子模块路径并检出相应的子模块。然而,若子模块路径包含尾部回车符(^M),Git会错误地处理该路径,导致回车符丢失并将路径写入.git/modules/foo/config中,进而使子模块被检出到错误路径。若存在符号链接指向错误路径,并且子模块包含可执行的post-checkout钩子脚本,该脚本可能在检出时意外执行,从而导致远程代码执行(RCE)。此漏洞可被利用通过恶意修改.gitmodules文件或注入回车符来控制子模块检出过程。

二、影响范围

Git <= 2.50.0

三、安全措施

3.1 升级版本

官方已发布修复版本,建议用户升级至如下版本

Git >= 2.43.7

Git >= 2.44.4

Git >= 2.45.4

Git >= 2.46.4

Git >= 2.47.3

Git >= 2.48.2

Git >= 2.49.1

Git >= 2.50.1。

下载链接:

https://github.com/git/git/tags

3.2 临时措施

暂无。

3.3 通用建议

定期更新系统补丁,减少系统漏洞,提升服务器的安全性。

加强系统和网络的访问控制,修改防火墙策略,关闭非必要的应用端口或服务,减少将危险服务(如SSH、RDP等)暴露到公网,减少攻击面。

使用企业级安全产品,提升企业的网络安全性能。

加强系统用户和权限管理,启用多因素认证机制和最小权限原则,用户和软件权限应保持在最低限度。

启用强密码策略并设置为定期修改。

3.4 参考链接

https://github.com/git/git/security/advisories/GHSA-vwqx-4fm8-6qc9

https://nvd.nist.gov/vuln/detail/CVE-2025-48384