AI 先看见了裂缝:藏了十四年的 PHP 双漏洞与一场全球预防性断网

十月的第三周,互联网给自己做了一次外科手术。10 月 21 日下午两点(UTC),PHP 项目一口气放出四个紧急版本,堵住两个藏了十四年的远程代码执行漏洞。同一个下午,芬兰政府把自家所有公开网站整批下线,荷兰、奥地利跟着关站,BBC 主动撤下了部分页面。没人被打进来。这次下线,是预防。

目录
  1. 🕳️ 十四年的老裂缝
  2. 🗓️ 从八月到十月:一条绷紧的线
  3. 🤖 AI 站在了攻击者前面

十月的第三周,互联网给自己做了一次外科手术。10 月 21 日下午两点(UTC),PHP 项目一口气放出四个紧急版本,堵住两个藏了十四年的远程代码执行漏洞。同一个下午,芬兰政府把自家所有公开网站整批下线,荷兰、奥地利跟着关站,BBC 主动撤下了部分页面。没人被打进来。这次下线,是预防。

两个漏洞合称 PHP2Shell,CVSS 评分 9.2,影响从 5.4 到 8.5 的每一个未打补丁的 PHP。而全世界的网站服务端,大约七成跑着这门语言。编号分别是 CVE-2026-109618 和 CVE-2026-109619,性质都是内存安全里的老朋友:释放后使用。

🕳️ 十四年的老裂缝

故事要从 PHP 处理请求的方式说起。一个进程接待完一位访客,本该把这位访客留下的东西全部清走,再接待下一位。但 PHP 引擎里有两处地方,清理动作会被打断——最常见的打断方式,是请求触发了内存上限,进程在还没来得及打扫时就先处理致命错误。被释放的内存被下一位访客当成活数据来用,这就是释放后使用。

第一处裂缝(109618)藏在会话上传进度机制的反序列化器里,后果是远程内存泄露:攻击者可以把上一个请求残留在内存里的东西——密码、会话令牌、API 密钥、甚至 TLS 私钥——顺着 PHPSESSID 响应头读走,哪怕应用从头到尾没调用过 session_start。第二处(109619)是致命错误回溯里的释放后使用,叠加 OPcache 类型混淆,可以直接执行代码。两处的源头代码,都能追到 2012 年发布的 PHP 5.4.0。

真正的攻击请求全都是 multipart/form-data,也就是文件上传那类表单,在应用代码跑起来之前就被引擎解析了。这意味着 WAF 拦不住——攻击发生在应用逻辑和防火墙规则够得着的那一层之下。旧金山的安全公司 Sansec 说得很直白:更新 PHP,是唯一的真修复。

🗓️ 从八月到十月:一条绷紧的线

这个事件的完整时间线,值得画出来看。漏洞不是上周发现的,协调披露走了两个半月,中途还被泄露打乱了节奏。

泄露是这件事里最戏剧性的一折。10 月 20 日,有人不小心违反了禁运,技术细节流出,HN 上一条"I unknowingly broke the PHP RCE embargo, I am sorry"的帖子收到三百多个赞。第二天早上 7 点 43 分,Cloudflare 的望远镜看到了第一批攻击尝试——比官方补丁早了六个多小时。所幸至今没有观察到大规模武器化:已公开的概念验证对默认安装的 PHP 并不奏效,多数还需要目标应用恰好存在一个本地文件包含漏洞。亚马逊的蜜罐网络在公开披露前也捕捉到了试探,但 Sansec 的判断是,这类攻击需要对目标服务器的具体知识,不是发一次广播就能收割的那种。

政府网站的批量下线就发生在这个窗口里。芬兰的国有 IT 服务商 Valtori 等到补丁发布、服务恢复,前前后后几个小时。倒过来读,这其实是一份答卷:防守方在补丁到手之前,选择了物理断网这种最笨也最稳的办法。

🤖 AI 站在了攻击者前面

现在说这件事真正的新意。找到第一条裂缝的,是一个叫 Calif 的安全研究者(calif.io 的 Ryan Austin),他用的工具是 OpenAI 的 GPT-5.6 Sol;几天后,Wiz 的研究团队用独立的方法撞上了同一对漏洞。OpenAI 在 10 月 22 日的公告里给了这套流程一个名字:Patch the Planet——研究者、维护者、应急响应方在同一个窗口里协作,AI 负责找,人负责决定谁先知道、怎么修。

公告里有句话值得抄下来:据他们所知,前沿 AI 在攻击者之前找到了这些漏洞。窗口有名字,叫 Defender's Window——防守者先看到、先动手的那段时间。这次窗口有两个半月。十年前的披露流程里,这段时间通常属于最先翻到漏洞的那一方,而那一方是谁,看运气。现在的赌注变成了:AI 把翻墙的速度提到了谁前面。OpenAI 顺手把漏洞排查工具做成了 Codex skill 发了出去,让运维能自查系统是否受影响,还宣布给一线防御者补贴十亿美元的 Daybreak 访问额度。他们同时预告,这类发现会急剧增多,这次只是冰山一角。

冷水也要备好。其一,这次窗口能撑两个半月,靠的是发现者的克制和协调机制的成熟,不是流程的必然——泄露只差一个人的一次手滑。其二,AI 找到漏洞不等于 AI 能修好生态:全球还有大量跑着 PHP 7.4、8.0、8.1 这些已停止维护版本的机器,它们只能靠发行版社区的手工移植补丁,官方 Docker 镜像对 8.1 及更老版本干脆不发修复。窗口是给所有人的,但走进去的能力不是。

事件本身没有伤亡,收尾也算体面。值得留下来的是那个结构性变化:漏洞发现的成本被 AI 压下去之后,披露协作的整条流水线——谁先知道、谁先修、窗口开多久——都在被迫重新设计。下一次窗口未必有两个半月。

信源与限定:漏洞机理、修复版本、时间线与缓解措施来自 Sansec 技术分析(2026-10-21);政府网站下线与 BBC 撤页来自 BBC 与路透社报道(10-21);AI 发现过程、Defender's Window、Codex skill 与补贴承诺来自 OpenAI 官方公告 Patch the Planet(10-22);CVSS 9.2 与版本覆盖来自 watchTowr 与 Huntress 汇总;泄露事件来自 Hacker News 当事人帖(10-20 前后);七成网站占比为 W3Techs 历史口径的转述;本文未核到 PHP 官方邮件列表原文与 CVE 详细条目。

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens