文章摘要
Wiz研究团队发现GitHub内部git基础设施存在严重漏洞(CVE-2026-3854),任何认证用户通过标准git客户端执行git push命令即可在GitHub后端服务器执行任意代码。该漏洞影响GitHub.com和GitHub企业版,前者可攻击共享存储节点访问数百万仓库,后者可完全控制服务器获取所有仓库和内部密钥。GitHub在接到报告后6小时内修复了该漏洞,并发布了企业版补丁。这是首个利用AI发现的闭源二进制文件关键漏洞,标志着漏洞发现方式的转变。
文章总结
标题:Wiz研究团队发现GitHub.com及企业版远程代码执行漏洞(CVE-2026-3854)
漏洞概述
Wiz研究团队在GitHub内部git基础设施中发现了一个高危漏洞(CVE-2026-3854),该漏洞影响GitHub.com及GitHub Enterprise Server(GHES)。通过利用GitHub内部协议中的注入缺陷,任何认证用户仅需执行标准git push命令即可在后台服务器上执行任意代码。
影响范围
- GitHub.com:攻击者可入侵共享存储节点,访问数百万公共/私有仓库。
- GHES:攻击者可完全控制服务器,获取所有托管仓库及内部密钥。
修复措施
- GitHub.com:团队在接到报告后6小时内完成修复,用户无需操作。
- GHES:需立即升级至3.19.3或更高版本(截至发文时88%实例仍存在风险)。详细修复步骤参见GitHub安全公告。
漏洞技术分析
攻击链:
- 注入点:
babeld服务未对X-Stat头部的分号进行过滤,导致攻击者可通过git push -o注入恶意字段。 - 权限提升:通过覆盖
rails_env、custom_hooks_dir和repo_pre_receive_hooks字段,绕过沙箱并执行任意二进制文件。
- 注入点:
多租户风险:
GitHub.com的共享节点中,git用户权限可跨租户访问所有仓库元数据(实际内容未读取验证)。
研究意义
- AI辅助发现:首次通过AI逆向工程工具(如IDA MCP)分析闭源二进制文件,显著提升漏洞挖掘效率。
- 架构警示:多服务架构中,组件间对共享协议的数据信任假设可能形成攻击面。
时间线
- 2026-03-04:漏洞发现并报告
- 2026-03-10:CVE发布,GHES补丁推送
- 2026-04-28:公开披露
研究团队
Wiz安全研究团队(成员包括Sagi Tzadik、Nir Ohfeld等)专注于云安全攻防研究,联系方式:research@wiz.io或Twitter账号@wiz_io。
(注:原文中的技术细节图表、代码片段及部分重复说明已精简,保留核心逻辑与关键数据。)
评论总结
以下是评论内容的总结:
对GitHub安全性的担忧
- 有评论认为GitHub出现远程代码执行漏洞(RCE)令人担忧,质疑是否有更好的替代平台(评论1:"If GH is getting RCE's this late in the game who wants to take the chance something else won't?")
- 另一评论指出GitHub可能因管理不善失去市场垄断地位(评论2:"how to screw up almost monopolistic position in the market in couple years")
企业客户升级滞后问题
- 数据显示88%的GitHub企业服务器客户未及时应用关键安全补丁(评论3:"88% of on-prem customers haven't applied a critical security fix from 7 weeks ago")
- 补丁发布于7周前但采用率低被认为是个严重问题
AI在安全领域的潜力
- 有评论对AI能在二进制可执行文件中发现漏洞表示惊叹(评论4:"doing it in binary executables is just amazing")
- 同时强调了对用户输入进行消毒的重要性(评论4:"Sanitize all user input!")
对Wiz安全公司的肯定
- 有评论称赞Wiz公司的工作表现,特别是在快速成长中保持工具质量(评论5:"Tool itself has survived extreme growth/feature bloat and still does pretty well")
漏洞的业余性质
- 有评论批评该漏洞显示出业余水平,指出字符串拼接不当导致的问题(评论7:"Gluing strings together with no regard to what might be in them")
其他观点: - 有用户对漏洞是否已被利用表示好奇(评论6:"I wonder if they can tell if this has been exploited or not")