刚刚,OpenAI揪出PHP致命漏洞!全球70%网站深夜爆雷

文章配图-1

新智元报道

出大事了!

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

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

文章配图-2

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

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

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

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

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

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

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

这次PHP爆雷,三点看懂:

  • 两个高危漏洞:PHP是网站常用的后台语言。在受影响的部署中,攻击者可能无需登录,就让服务器执行恶意代码。
  • GPT参与找洞:Calif借助GPT发现漏洞,Wiz也独立发现;PHP维护者主导修复,OpenAI协调各方。
  • 补丁已经发布:网站运营者需要升级PHP,临时防护不能替代补丁。

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

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

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

文章配图-1

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

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

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

文章配图-1

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

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

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

GPT立大功

从一个漏洞追出一整类

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

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

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

文章配图-2

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

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

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

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

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

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

文章配图-3

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

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

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

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

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

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

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

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

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

文章配图-4

给PHP引擎动手术

秘密抢修两个月

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

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

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

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

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

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

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

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

文章配图-5

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

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

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

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

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

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

文章配图-1

他发帖时,补丁计划到当晚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准备了最小范围的源码修补,供发行商和长期支持服务制作更新包。

文章配图-1

本文来自转载新智元 ,观点仅代表作者本人,发现AI平台仅提供信息存储空间服务。
如若转载,请联系原作者;如有侵权,请联系编辑删除。

赞 (0)
资讯组小编的头像资讯组小编
绝杀OpenAI!首个Claude Duet上岗,Opus 5.5 24 小时替你打工
上一篇 4小时前
DeepSeek拿下1000亿:中国AI最大一笔融资,进来的全是”带订单”的钱
下一篇 2小时前



扫码关注我们,了解最新AI资讯~

相关推荐

发表回复

登录后才能评论