Token导航 LogoToken导航

AI 资讯 · 新智元

OpenAI用GPT-5.6 Sol发现PHP两个致命漏洞

更新 2026-10-22新智元正文 3038字阅读约 10分钟14 张图片


新智元报道


出大事了!

连账号密码都不用,黑客就可能让网站服务器听命于自己!

就在刚刚,OpenAI公开了一起惊心动魄的幕后行动:GPT-5.6 Sol从全球70%网站都在用的PHP语言里,挖出了两个致命漏洞。


一旦被利用,攻击者连账号密码都不用输,直接就能让服务器乖乖执行恶意代码。

甚至,连平日里专门教别人防黑客的荷兰国家网安机构,收到风声后的第一反应,都是赶紧把自家的官网给关了!

为了堵上窟窿,OpenAI和PHP维护者秘密死磕了两个月,不惜推翻重来,连PHP引擎的内存管理机制都改了。

然而,保密了两个月,却在最后48小时彻底崩盘——

漏洞消息先泄露,倒逼补丁提前一天上线;随后攻击演示视频意外流出,修复镜像提前公开。


还没等全球站长们反应过来打补丁,第一波真实攻击就已经在路上了。

更让人后背发凉的是,OpenAI顺手还埋了个彩蛋:这两个只是开胃菜,另外几项重大漏洞,还在排队抢修中……


这次PHP爆雷,三点看懂:

两个高危漏洞:PHP是网站常用的后台语言。在受影响的部署中,攻击者可能无需登录,就让服务器执行恶意代码。

  • GPT参与找洞:Calif借助GPT发现漏洞,Wiz也独立发现;PHP维护者主导修复,OpenAI协调各方。

  • 补丁已经发布:网站运营者需要升级PHP,临时防护不能替代补丁。

    PHP突然爆雷,网安机构先关站

    这场秘密抢修,最后连负责防黑客的机构都得先关站避险。补丁还没赶到,官网先下线。

    10月21日,荷兰国家网络安全中心NCSC选择先关站,等修复。


    关站的还不止它。荷兰司法系统的招聘网站、司法培训机构网站也暂停服务,连给记者传送庭审信息的文件信箱都临时关闭了。

    日本财务省同样停了官网的部分内容和服务,紧急检查服务器、安装修复。

    引发关站的两个PHP引擎漏洞,合称PHP2Shell,CVSS危险评分都达到9.2分,满分10分。


    其中最危险的后果,叫远程代码执行,简称RCE。网站本来只该处理访问者发来的请求,结果却可能开始执行攻击者指定的代码。

    Wiz用当时最新的WordPress、Drupal、Joomla镜像搭建测试环境,复现了无需登录的远程攻击,还验证了从内存中读取密码、令牌和API密钥的攻击路径。

    甚至,在某些Apache与mod_php部署中,攻击在网站自己的程序启动前就能发生。哪怕页面只写了一行「Hello World」,也可能中招。

    麻烦在于,用PHP的网站太多了。W3Techs能识别服务端语言的网站中,69.3%使用PHP。底层引擎出了问题,大量网站都得跟着检查、升级。

    GPT立大功

    从一个漏洞追出一整类

    把时间拨回7月30日,Calif研究者Ryan Austin开始审计PHP。他参与OpenAI的Patch the Planet计划,要用AI帮开源项目找洞、修洞。

    到8月1日,多条远程攻击路径就被找了出来。

    早在2004年,PHP的内存限制机制就被发现存在远程攻击漏洞。Ryan让GPT-5.6 Sol以此为切入点,检查现有代码里是否还藏着同类问题。


    程序处理请求,要把数据临时放进内存。PHP给每次请求划了额度,用光就要中断处理。这种情况叫内存耗尽,也就是OOM。

    Calif披露的一条攻击路径中,不到8MiB的请求数据,处理时却足以耗尽PHP默认128MiB的内存额度。

    小小的请求进入PHP后,会被拆成大量记录,每条都要额外占用内存。攻击者就利用这层放大,让程序在特定一步耗尽额度。

    按PHP的规矩,这时应该中断操作,转去报错、清理。

    偏偏就在这个时候,数据可能只填了一半。

    模型在PHP内部存放数据的哈希表里,发现了一个危险顺序:新增记录时,先把记录数加一,才申请内存、填入内容。


    如果申请内存时正好耗尽额度,程序就会跳走。新记录还没填好,计数却已经加了。

    清理程序照着计数检查,便把尚未准备好的内存当成有效记录使用。相当于表格里一行还没填完,已经被当成完整记录拿来用。

    把这种错误变成远程攻击,还要安排相关内存内容、满足具体运行条件。研究者已经在受影响的部署中,让程序执行了攻击者指定的代码。

    研究者没停在这个洞上。他们让模型把刚发现的错误模式写成SKILL.md,一份可以反复使用的审计指引,再沿着同样的线索查下去。

    这一查,Agent又在负责记录文件上传进度的代码里,找到了另一个问题。

    一次请求异常结束,内存被释放,但处理请求的程序还留着旧地址。等它接到下一次请求,又可能拿这个地址去读取已经失效的内存。

    这就是释放后使用,也叫UAF。相当于一条登记已经作废,程序却仍照着旧地址找数据,而那块内存可能已被重新分配。

    另一边,Wiz也独立找到了两个漏洞。PHP版本一换、运行环境一变,原来的攻击就可能失效,模型还得跟着分析崩溃、调整验证。

    Wiz研究员Sagi Tzadik在X上写道:「AI干了这里的大部分工作。」


    给PHP引擎动手术

    秘密抢修两个月

    几天就找出了攻击路径,后面的修复准备却忙了两个月。

    这次由OpenAI牵头协调,PHP维护者主导修复。但两个漏洞牵着引擎的内存管理和错误处理,堵住眼前的攻击路径,同类问题还可能从别处冒出来;大改底层,又得保证旧程序和扩展还能跑。

    PHP基金会说,团队连周末都在昼夜协调。补丁要在多个版本上测试,还得让发行商打包、让安全厂商准备防护。

    最终,PHP连中止工作的时机都改了。

    修补后的PHP设了两道内存上限。触及软限制,等程序走到安全位置再处理,避免留下半成品数据;触及更高的硬限制,就让进程退出,阻止危险状态被继续使用。

    最后48小时接连泄密,攻击先来了

    各方原本约好,10月22日晚10点统一发布。

    可到了20日晚11点左右,两个漏洞编号突然在网上流传,还混着错误的发布时间和满分10分的评分。此时,离原定发布已经不到48小时。


    21日凌晨3点半,PHP团队提前发出预告,把正式发布往前挪了整整24小时。

    但通知发了,不等于更新就能装上。发行商还在打包,再提前,用户就会先知道自己有危险,却拿不到方便安装的更新。

    预告发出约半小时,攻击演示视频也漏了。

    PHP基金会复盘称,Calif误发了攻击演示。视频很快被删,副本却已经传了出去。

    到了21日下午,连含修复的构建镜像也提前公开了。Chainguard发布这些镜像后,外界已经可以对比新旧代码,反推漏洞在哪儿。

    同日下午3点43分,Cloudflare首席技术官Dane Knecht在X上发帖:已经看到了早期攻击。


    他发帖时,补丁计划到当晚10点才统一发布。攻击已经来了,还有六个多小时要撑。

    Cloudflare后来还披露,攻击者已经在改请求,试着绕过防护规则。

    Cloudflare给使用其Web应用防火墙的免费和付费客户部署了保护,但Dane强调,这只是临时措施,补丁出来就得安装。

    21日晚,PHP8.5.12、8.4.27、8.3.36和8.2.35终于发布。PHP团队还为7.4、8.0和8.1准备了最小范围的源码修补,供发行商和长期支持服务制作更新包。


    OpenAI预告

    更多重大漏洞还在后面

    22日零点35分,OpenAI又放出一个Codex检查skill,帮网站运营者检查PHP版本,判断是否可能受影响。


    它查的是PHP版本,不能替网站完成升级;如果连版本都查不到,也不能据此认定安全。

    而OpenAI已经预告:PHP只是团队已发现、正在修复的多项重大漏洞之一。

    未来几个月,这类发现预计还会显著增加!

    参考资料:

    https://x.com/OpenAI/status/2112907856018309586

    编辑:摩西 桃子

    文章标签OpenAI安全

    资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。