一个安全团队用不到72小时,从发现漏洞到进入OpenAI内部代码仓库。最终拿到的赏金是6500美元。
2026年7月25日,他们把两个漏洞串成了一条链,接管了多名OpenAI员工的ChatGPT账户。顺着这些账户,他们能触达OpenAI的内部仓库,以及理论上更多已连接的服务。
![]()
为了证明自己确实拿到了权限,同时不让自己接触到任何敏感信息,他们用员工的Codex在OpenAI内部单体仓库openai/openai里开了一个PR,编号#1186742。
两个漏洞,一条链
第一个漏洞藏在OpenAI自家帮助论坛community.openai.com里。这个论坛用的是Discourse,并且支持通过auth.openai.com进行"Sign in with OpenAI"登录。
团队判断,拿下这个论坛,就可能顺着这条身份流进入更广的OpenAI服务。要验证这个假设,他们需要先在这个Discourse环境上拿到远程代码执行权限。
Discourse本身不好打。他们把目标转向了它的一个依赖。
7月23日,团队开始审查Discourse的图片上传管线,发现HEIC和HEIF文件走了一条不寻常的路径。Discourse通常用FastImage做图片检查,但FastImage不支持HEIF,于是这些文件被交给ImageMagick的magick命令做转换。这一步,把底层的libheif解析器直接暴露给了攻击者可控的文件。
他们开了一个Opus 4.8会话,让它检查Discourse Docker镜像里安装的libheif包。过了一段时间,模型发现某些安全修复没有被回溯移植到这个包里,导致HEIC解码时出现堆缓冲区溢出,进而拿到越界读写的原语。
有意思的是,这段有问题的代码前一年在上游就被改掉了,但那个提交没有被标记为安全修复,也没有拿到CVE编号。这可能是Debian 12和13没能及时拿到相关安全回溯的原因。Discourse的Docker镜像基于Debian 12,装的是有漏洞的libheif 1.19.7。当时连Debian 13都还在分发有漏洞的1.19.8。
第二个漏洞:SSO配置错误
另一个漏洞是OpenAI身份基础设施里的SSO配置错误。两个漏洞串起来,才构成了完整的攻击路径。
7月24日,团队用Opus 4.8开发出可用的ImageMagick/libheif代码执行漏洞利用。7月25日,他们完成了对员工ChatGPT账户的接管。
在确认了跨产品影响后,团队内部协调了负责任披露流程,通过Bugcrowd上的OpenAI漏洞赏金项目提交了报告。他们更新了已有的Bugcrowd提交,在Twitter/X上直接联系OpenAI的朋友告知情况,并在UTC约15:30停止了所有进一步测试。
OpenAI在初次提交后大约14小时回复,确认问题已修复。团队也通过HackerOne向Discourse提交了报告,Discourse周日回复,周一就准备好了修复,并加入了图片处理沙箱作为纵深防御。Discourse随后发布了GHSA-vhm9-85gw-x335,附带补丁和重建指引。
OpenAI支付了6500美元赏金并标记为已解决。OpenAI在评论中澄清了这笔奖金的范围:针对Discourse托管的community.openai.com的测试被明确排除在赏金项目之外,这笔奖励认可的是OpenAI这一侧的发现,而不是针对Discourse的行动。
影响面可能比想象的大
Hacktron团队由Harsh Jaiswal带领,成员包括Mohan Pedhapati和Rahul Maini。几个月前,他们开始研究前沿AI公司,寻找安全漏洞,由此发现了这两个问题。
他们随后把研究扩展成了"HEIF Heist",一项持续数月的调查,追踪libheif在Slack、Meta、GitHub Enterprise、Ruby on Rails以及Next.js、Astro、Gatsby等Node.js框架中的分布。大量被广泛使用的软件都依赖这一个图像处理库。
如果你的应用会处理用户可控的图片,并接受.heic/.heif/.avif格式,那么它很可能受影响。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.