AI 从旧代码里挖出了高危漏洞!引发全球网站安全恐慌,还连累了寿司郎……
- 2026-10-31 15:16:11


出品:非人类主体作者:赛博青椒
10 月 21 日前后,很多网友在海外社交平台上反映,自己日常使用的一些网站,突然没法浏览了。
另外一些还能正常浏览的网站,则特意发出预告,称自己很可能会「预防性下线」。
荷兰政府给出了一份「预防性下线」网站的名单,其中包括,查政府信息的 Overheid.nl、处理个人政务的 MijnOverheid.nl,还有用来验证数字身份的 DigiD……
有意思的是,负责提醒大家防范网络攻击的荷兰国家网络安全中心,已经先行一步关站,匆匆「打烊」。
如果这只是荷兰当地的网络安全问题还好说,然而在极短的时间内,全球范围内越来越多的网站开始进入「紧急状态」,让人意识到,这次的事态不简单。
为「维基百科」提供技术服务的维基媒体,其管理员公告宣布,将暂时切断 Toolforge 和 Cloud VPS 的全部网络访问,等待安全更新。
而在国内,腾讯云、阿里云和百度云的技术团队,罕见地同时发出预警,让开发人员高度警惕一个安全漏洞;该漏洞甚至影响到了连锁餐饮「寿司郎」,他们在 10 月 22 日宣布,小程序将暂时下线。

到底发生了什么?
答案,是一个平时很少出现在普通用户面前的名字:PHP。
PHP 是一种主要用于网站后端开发的编程语言,据称全球范围内约有 69.3% 的网站都基于它来开发。
你在网页上登录账号、查询资料、提交订单,背后可能就是它在服务器上处理请求。
现如今,网络安全人员发现这套运行环境出了严重漏洞,攻击者可能连账号密码都不需要,就能让服务器执行自己的指令,翻出敏感信息,甚至接管整台服务器。
鉴于漏洞本身的严重程度,和需要等待 PHP 维护方修补漏洞,为了保障用户信息安全,部分网站只能采用下下策,但也是最保险的策略——先把网站关停了。
而能够一夜之间让全球 70% 的网站「草木皆兵」,说明了这个漏洞本身的不简单。
然而,这个漏洞早就藏在代码中长达 14 年之久。是 AI,找到了这具「木乃伊」。

藏了 14 年的「木乃伊」
这次披露的问题合称 PHP2Shell,包含两个严重漏洞。
第一个是「内存耗尽导致内存损坏的远程代码执行漏洞」(RCE via OOM corruption,CVE-2026-109618);第二个是「残留全局状态导致的远程代码执行漏洞」(RCE via stale global state,CVE-2026-109619)。

这两个漏洞带来的后果非常直观:黑客不需要掌握账号和密码,就能攻破 PHP 语言编写的网站,拿到用户数据。在评价系统漏洞风险程度的 CVSS 危险评分上,两个漏洞都达到 9.2 分(满分 10 分)。
尽管 PHP 漏洞闹得沸沸扬扬,但实话说,它并非「突然被发现」。
时间最早得先拨回 2012 年。
按照 PHP 官方的历史公告,那年 3 月 1 日,PHP 5.4.0 正式发布;Calif 在此次研究报告中指出,他们找到的最早受影响路径,就能追溯到这个版本。也就是说,到这次漏洞披露,这具「木乃伊」已经在旧代码里藏了 14 年。
按照 PHP 基金会的复盘,转眼来到 2024 年,PHP 接受外部安全审计期间,一位核心开发者在处理审计问题时,发现了内存耗尽问题的最初迹象。
按照内存的工作逻辑,网站收到请求,程序就把要处理的数据摆上去,用完再清走。可假如内存已经塞满,偏偏还有新东西要放进来,程序就可能在做到一半时突然报错。

问题出在收拾残局的时候。有的数据只准备了一半,有的已经搬走,记录却还指着原来的位置。后面的程序照着这些记录继续办事,就可能认错东西,把已经失效的内存当成正常数据使用。
团队当时已经怀疑,这样的混乱可能给攻击者可乘之机。
可从「这里会出错」,到一个陌生人隔着网络发来请求、最后拿下服务器,中间想要真的实现并不容易。而事实上,当时还没有人把这条路走通,这个漏洞只能算是「理论存在」。
既然隐约觉得存在漏洞,那为什么不修呢?
因为想要彻底修复,也很难。
改动底层,就像给一栋还住着人的楼换管道:有的方案会让旧软件用不了,有的可能引入让服务中断的新风险,还有的得让大量第三方扩展一起配合。
团队依赖共识作决定,真正熟悉底层的人又少,修复工作就这样停停走走。
基金会没有回避这段历史,直接承认,延误属于「结构性失败」。
于是,这颗「暗雷」就这样留在了代码里。
关键还是问题的复现,而 AI 大模型在其中,如「爽文小说」般发挥了关键作用。
2026 年 7 月 30 日,安全公司 Calif 在 OpenAI 的 Patch the Planet 计划中开始审计 PHP。研究员 Ryan Austin 熟悉 PHP 早年的内存限制漏洞,怀疑类似问题仍有遗留。
按他的研究记录,这并不是一个无人问津的目标。PHP 已经接受过广泛的 AI 辅助审计,他们起初并不期待找到特别严重的问题。
不过,他没有让模型漫无目的地搜一遍代码,而是给了它一条来自历史的线索:程序被突然打断之后,究竟会发生什么?

AI 大模型立大功
要回答这个问题,先得让程序在有用的位置中断。
网站通常会限制上传文件和请求的大小,防止一个请求消耗太多资源。Ryan 请模型协助寻找,怎样在这些限制之下,仍然耗尽 PHP 的内存。
模型协助找到了一个切口:请求本身看着不大,到了 PHP 手里却会层层展开,变成许多内部数据。就像送来一个不大的包裹,拆开之后,里面的东西却能铺满整张工作台。
研究团队可以借此消耗内存,再让后面某一次分配恰好失败。
原先偶然发生的故障,开始有了可以控制的时机。
接着往下查,智能体发现了一个顺序上的问题:PHP 还没把一条新数据准备好,就先把它算进了「有效数据」的数量里。后续程序看到这个数量,会以为这条数据已经可以使用。
如果准备数据时内存耗尽,程序就会中途停止。但它已经把这条数据计入了有效数量,清理时便会误把尚未准备好的内容当成正常数据处理,造成内存错误。

AI 进一步发现,攻击者可以通过向网站发送特制请求,触发这段有问题的代码。研究由此找到了从网站外部利用这个缺陷的切入口。
更麻烦的是,网站自己的 PHP 文件还没开始执行,这些动作就已经发生了。这时候,原本设计好的安全审查机制,也就是负责查账号、验权限的程序,还没来得及发挥作用。
在 Apache 的 mod_php 环境里,研究团队据此构造出了能针对任意 PHP 脚本的远程代码执行路径。
不过,Ryan 还想知道,旁边会不会藏着同样的问题。
他和团队把刚刚找到的规律,写成一份叫 SKILL.md 的检查指南,交给智能体继续使用:程序有没有先留下一份记录,再去做可能失败的事情?假如中途停下来,后面的人会不会还照着那份记录办事?
智能体带着这个方法继续找,随后在会话上传进度等路径中发现了更多问题。一次请求失败后,内存已经释放,处理请求的进程却可能活下来,继续保留指向旧内存的记录。下一个请求再进来,就有机会碰到它们。
可到了另一种常见运行方式 PHP-FPM,追查碰了壁。某些启动失败会让处理请求的工作进程直接退出,连同那些有问题的旧状态一起结束,下一次请求也就碰不到它们。
这处阻碍又成了新线索,不如换个思路,比如等启动完成、应用已经运行起来,再让它在某个会留下错误状态的位置中断呢?
研究团队继续沿反序列化等路径追踪,最终也做出了针对 PHP-FPM 的、依赖具体应用路径的攻击。原先看起来局限于一种部署的风险,进一步扩大了。
Calif 的记录中,初始发现没有使用公众无法获取的模型,也没有特殊的测试框架。研究员对历史漏洞的熟悉,给了 AI 方向;模型则协助读代码、追路径,并把已经找到的模式用到更多地方。
与此同时,其他团队也在推进。PHP 基金会确认,8 月 11 日,Calif 报告首个漏洞时,OpenAI 同一天独立报告了相同根因。Calif 随后交付攻击验证,PHP 确认可运行。

Wiz 则在其研究报告中披露,他们使用 Wiz Atlas、Gemini 4 Argon 和 GPT-5.6 Sol,验证了对 WordPress、Drupal、Joomla 等应用部署的未认证远程代码执行。
按 Wiz 的说法,前沿模型让分析失败、调试和适配不同目标的过程变得实际可行,部分攻击的开发与适配可以在数小时内完成。
回过头来看,AI 在这里完成的事情,已经超出「帮开发者改一处代码」。它协助研究者把一份长期存在的怀疑,推进成了能够运行、能够调整到不同目标上的攻击。
那具藏在旧代码里的「木乃伊」,终于露出了能伤人的一面。
可就在研究者证明它真能接管服务器之后,一个更紧迫的问题摆了出来。

和时间赛跑
「漏洞该如何使用」的方法论已经被研究者掌握,而接下来的剧情,就应该是提交给开发者,用逆向思维来补上这个高危漏洞。
故事也的确沿着这样的常理发展,只是大家都忽略了一点,修补漏洞,其实很花时间。
修好代码只是其中一步。补丁要经过测试,适配不同版本,再交到分发商、云服务商和网站管理员手里——本就是一条不短的链条。
而且,PHP 作为一个群众基础巨大的代码语言,且已经被使用多年,有人自己管服务器,有人买的是托管服务,还有人根本不知道,采购来的那套系统里面也藏着 PHP。
原本,各方想给这条长长的更新链留一点时间。必要的参与者先拿到信息,准备补丁和防护,再到约定的时刻一起公开。攻击演示就暂时留在有限的圈子里,外面的网站争取在危险传开之前,先把漏洞堵上。

但谁也想不到,10 月 20 日,漏洞编号和部分错误信息开始在网上流传,大家开始意识到,PHP 居然还藏了这样一个大雷;如此意外逼得 PHP 只能提前发出预告,并把原定 10 月 22 日的发布提前到 21 日。
更糟糕的是,Calif 误发了一段攻击演示视频。尽管马上删除,但视频还是通过国际互联网传播全球。
这一连串的意外打乱了原本的部署,换言之,补丁还没来得及上线,「漏洞是什么」「如何利用利用」等等关键信息,已经被公之于众。
可以想象,得知漏洞和攻击方式的,除了后知后觉的红客们,还有不怀好意的黑客。
讽刺的是,AI 在寻找漏洞的过程中发挥了重要作用,而当漏洞被意外泄露后,AI 本身也成了帮凶——技术团队的案例就是最好的证明,复杂的利用链可以在 AI 的帮助下被推进得更快。
如今攻守易形,防守者很难再指望,攻击者会长期卡在那些技术细节上。
到这里,才终于看见这场「全球性安全恐慌」的全貌——一个危险系数极高、覆盖面极广、影响极大的安全漏洞,在更新补丁在未完全部署完成之前遭到意外曝光,进而成为了黑客攻击用户的「杀手锏」。
于是,再看开头那些关掉的入口,就能理解运营者的决策:在更新还没部署好之前,把网站暂时关闭,的确既是下下策,也是最稳妥的办法。
最后回过头来看,最讽刺的可能是 AI 在其中发挥的作用:如果没有如今的顶级大模型,这个潜伏 14 年的「木乃伊」恐怕还难以被找到;但正因为顶级大模型的存在,黑客们能更轻易地利用这些漏洞发起攻击,逼得全球超过 2260 万个网站实例凤鸣鹤唳,草木皆兵。
这何尝不是一出「黑色幽默」?
(完)
我们正在招聘 🔥
工作地点在广州,简历请投递到 mt@ddxq.tech