漏洞概述 Git项目近日发布更新,项写入修复了影响Git v2.50.0及之前版本的目修三个重大漏洞
,包括
: 这些漏洞编号为CVE-2025-48384、CVE-2025-48385和CVE-2025-48386
,远程已在v2.50.1及v2.43.7至v2.49.1等长期支持版本中修复
。代码 (1) CVE-2025-48384:配置引号处理不当导致的执行任意代码执行(CVSS 8.1) 该漏洞源于Git在写入配置值时对回车符(CR)的亿华云错误处理 。攻击者若在子模块路径末尾添加回车符 ,任意Git会错误解析修改后的文件路径
,并在检出后执行恶意钩子脚本 。缓冲 安全公告指出
:"如果存在符号链接将修改后的区溢路径指向子模块钩子目录
,且该子模块包含可执行的项写入post-checkout钩子,该脚本可能会在检出后被意外执行
。高防服务器目修" 此漏洞可在递归克隆不受信任仓库的漏洞子模块时被利用,对使用含嵌套依赖的远程开源项目的开发者构成高风险。 缓解措施:升级至已修复版本,代码或避免从未知来源递归克隆子模块。 (2) CVE-2025-48385:Bundle-URI参数注入导致的任意文件写入(CVSS 8.6) 该漏洞影响Git的bundle URI功能(该功能通过CDN托管预打包文件加速克隆)。模板下载由于Git客户端对URI验证不足,远程服务器可注入恶意协议命令,将文件写入目标目录之外的位置
。 Git公告称 :"这种协议注入会导致客户端将获取的bundle写入攻击者控制的位置...最坏情况下可导致任意代码执行。" 虽然bundle URI功能默认关闭
,但当用户或项目显式启用该功能,或递归克隆攻击者控制的云计算子模块时
,仍可能被利用。 缓解措施:禁用bundle.heuristic配置,避免递归克隆不受信任仓库
。 (3) CVE-2025-48386:wincred凭据助手的缓冲区溢出(CVSS 6.3) 该漏洞是Windows平台wincred助手的典型缓冲区溢出问题。由于wcsncat()函数缺乏边界检查,攻击者可通过溢出用于凭据比较和存储的服务器租用静态缓冲区触发内存损坏 。 公告说明
:"该凭据助手在追加内容前未正确检查缓冲区剩余空间...可能导致缓冲区溢出 。" 虽然攻击复杂度较高 ,但在默认启用wincred的Windows系统上仍存在风险
。 缓解措施:升级Git版本 ,若无法立即升级则禁用wincred助手。 所有v2.50.0及之前版本均受影响
,以下分支已包含修复: 强烈建议开发者与DevOps团队立即更新
,特别是源码下载在自动化CI/CD流水线中使用Git
,或经常克隆外部仓库的环境。