-
-
单个Git Push就能攻陷GitHub?CVE-2026-3854高危漏洞曝光
-
发表于: 1小时前 68
-
2026年3月4日,Wiz安全研究团队向GitHub提交了一份震撼的漏洞报告——一个编号为CVE-2026-3854的严重命令注入漏洞,让攻击者只需执行一次简单的git push操作,就能在GitHub服务器上实现远程代码执行(RCE)。该漏洞影响范围广泛,包括GitHub企业云服务(含数据驻留版、企业托管用户版)及GitHub企业服务器(GitHub Enterprise Server)全系列产品。
GitHub官方安全公告指出,这是一个"特殊元素不当中和漏洞",攻击者只要拥有代码仓库的推送权限,就能利用此漏洞在目标服务器上执行任意命令。漏洞源于GitHub内部服务在处理用户提交的git push选项时,未对输入内容进行充分净化,直接将其嵌入到内部服务通信的元数据头中。由于内部协议使用的分隔符可被用户输入操控,攻击者能够构造恶意push选项,注入额外的元数据字段,诱使下游服务将恶意内容视为可信数据处理。
攻击原理:内部协议信任链的崩塌
当开发者执行git push时,GitHub后台多个服务会通过内部协议交换操作元数据。这个漏洞的致命之处在于:
1. 输入未净化:用户提交的push选项值未经过滤就被嵌入到内部服务头中
2. 分隔符滥用:攻击者利用分隔符注入额外字段,篡改内部通信内容
3. 信任链断裂:下游服务默认信任内部元数据,执行恶意指令
Wiz团队披露的攻击链显示,攻击者可通过以下步骤实现完整的远程代码执行:
- 注入rails_env字段,绕过沙箱保护,强制钩子程序在不安全模式下运行
- 重定向钩子目录,利用路径遍历执行任意文件
- 以git服务用户身份运行命令,获取系统完全控制权,包括文件系统访问和内部配置修改
在GitHub.com的多租户环境中,攻击者还能通过注入enterprise-mode标志,绕过自定义钩子禁用限制,在共享存储节点上执行代码,理论上可访问数百万个仓库数据。
修复与影响:两小时紧急响应,88%实例仍暴露风险
GitHub安全团队展现了惊人的响应速度,在漏洞报告提交后2小时内就完成了修复,并发布了企业服务器版本的安全补丁。修复措施主要是对用户输入进行严格净化,阻断分隔符注入路径。
已确认的安全版本包括:
- GitHub Enterprise Server 3.14.24
- 3.15.19
- 3.16.15
- 3.17.12
- 3.18.6
- 3.19.3
然而,Wiz团队的监测数据显示,截至报告发布时,88%的GitHub企业服务器实例仍未升级,处于高风险状态。值得庆幸的是,GitHub官方调查确认,该漏洞在修复前仅被研究人员用于测试,未发现真实世界中的利用案例,也未造成用户数据泄露。
这次漏洞发现有两个值得关注的技术趋势:
1. AI驱动漏洞挖掘:Wiz团队透露,该漏洞是通过AI工具在GitHub闭源代码中发现的,标志着漏洞挖掘技术正从人工审计向智能分析转变
2. 内部协议安全隐患:漏洞揭示了复杂系统中内部服务间数据流转的安全风险——当多种语言编写的服务通过共享协议传递数据时,每个服务对数据的假设都可能成为攻击面
GitHub安全团队提醒,企业应立即升级受影响系统,并加强对用户可控数据在内部协议中流转的安全防护,避免类似信任链断裂问题重演。
资讯来源:Wiz Security Research & GitHub Security Advisory