两个漏洞本身不复杂:一个请求把 PHP 的内存撑爆在错误的时刻,一个致命错误在错误的时刻中断处理。值得看的,是围绕它们发生的一连串事——防守的一方,亲手砸了自己的时间窗。
漏洞本体:两笔拖了两年的旧账
PHP 项目 10 月 21 日释出 8.5.12、8.4.27、8.3.36 和 8.2.35 四个版本,修的是 CVE-2026-109618 与 CVE-2026-109619 两个高危漏洞。在特定条件下,未认证的攻击者可在服务器上执行任意代码。Cloudflare 的技术说明写得很直白:两个漏洞都出在 PHP 处理 HTTP 请求出错后的清理逻辑上——要么是内存耗尽时留下尚未初始化完的内部数据,后续请求把它当成有效数据继续用(109618);要么是致命错误后进程仍持有指向已释放内存的引用,同一 worker 处理下个请求时踩进已回收区域(109619)。按 Cloudflare 引用的统计,PHP 跑在全球接近 70% 的网站上;漏洞位于运行时内部,光改网站代码或插件并不顶用,只能升级解释器本身。
麻烦的是,这不是新账。2024 年 PHP 做了多年来第一次外部安全审计,由基金会通过 OSTIF 拿到主权科技署资助、交给 Quarkslab 执行。就是在那次审计中,一位基金会签约的核心开发者发现了 OOM 问题最初迹象;团队当时推演过利用方式,但没找到具体攻击向量。基金会自认这拖延成了一次「结构性失败」:为修它,安全团队试过几种互相冲突的方案,每个都带着向后兼容断裂、新增 DoS 面或要动第三方扩展的代价,修复在几个月里反复停顿重启。
AI 找到了,人类把流程搞崩了
真正改变节奏的是 7 月之后。基金会 5 月成立 Ecosystem Security Team,7 月和 9 月增聘负责分诊和加固的工程师,并引入 Anthropic 的 Claude Mythos 扫描、OpenAI Daybreak Red 验证报告与利用代码。7 月 30 日,安全公司 Calif 启动对 PHP 审计;8 月 11 日,研究员 Ryan A 报出一个无条件远程代码执行,根因与 2024 年那个 OOM 问题相同。同日 OpenAI 独立报出同一根因,8 月 24 日 Wiz 补上另一条攻击路径,9 月 18 日 OpenAI 又补新向量。
OpenAI 的说法是:据其所知,前沿模型先于攻击者发现了这些漏洞,因此存在一个「防守者窗口」,让维护方和供应商得以先行准备。它把这称为近期最重大的安全问题之一,并宣布通过 Daybreak for Frontline Defenders 承诺 10 亿美元的补贴访问额度,面向安全资源有限却要守护关键服务的机构(OpenAI 官方公告)。
然后窗口就碎了。按基金会的记述:10 月 20 日周二约 15:00 UTC,两个 CVE 编号开始在论坛和社交媒体流传,附带错误的发布时间和错误的 10.0 评分(实际 9.2),但没泄露技术细节。项目组随即把预告提前到 19:30 UTC 发布,正式发布从 22 日 14:00 UTC 提到 21 日 14:00 UTC。约 20:00 UTC,报漏的 Calif 误发演示 PoC 的视频,副本很快扩散。当晚 23:00 UTC 前后,基金会发给关键基础设施机构的缓解建议疑似外泄,但发布时团队未发现可用的完整利用代码。
最后一击在 21 日 07:41 UTC:Chainguard 单方面打破禁令,提前六个多小时发布了带修复的镜像版本。其他 PHP 用户还在等正式发布时,攻击者已可以拿二进制版本来研究这个补丁了。
Cloudflare 的速度值得一提:WAF 防护从 10 月初开始部署,比公开披露早约九小时,21 日 03:02 UTC 起免费和付费客户默认全部生效。Cloudflare 称观测到针对客户的攻击流量,攻击者在变换载荷试图绕过规则。为此他们开发了「完整事务检测」能力,把请求侧和响应侧信号放进同一 HTTP 事务判断,php2shell 是其首批托管规则。
更该关心的是那套框架
OpenAI 真正想推的并不是某一个漏洞,而是一套面向 AI 时代的响应框架:上游验证并修复(含用前沿模型做对抗测试)、给受影响机构留准备时间、协调政府伙伴、让下游产品准备更新、补丁就绪后发布指引。PHP 这次,OpenAI 称团队接触了白宫 Super Intelligence Force、美国网络国家总监办公室、CISA 等部门。框架外还有面向维护者的 Codex for OSS 订阅,以及对 Rust 基金会的白金赞助。
值得记住的三件事
基金会说,7 月 1 日以来安全团队已发布 15 个 CVE,同时处理了超过 100 份被判为无效或无法复现的报告。AI 帮着验证报告、归并同根因条目,但每个判断、每个补丁仍由人把关。
第二件事更实用——站点若跑在托管服务上,Cloudflare 的建议是直接让服务商打补丁。WAF 防护属于纵深防御的一层,不能替代升级。Solidot 转述安全公司 Sansec 的判断称,补丁释出后 15 分钟内就可能出现大规模利用,约 130 万台主机受影响。这些是第三方预测而非既成事实,但作时间线参照够用。
第三件事:这次流程的每个失误,方向都高度一致。CVE 编号在正式披露前近 24 小时外泄,演示视频在禁令窗口内误发,发行版为让自己用户先排队而提前六小时发布。这些行为的动机大多不是恶意——分发商只是怕自己的用户排不上队——但只要一个环节先跑,速度优势就换不回时间。
所以呢?OpenAI 说,他们预计这类发现会在未来几个月「急剧增加」。当挖掘速度由模型决定、协调速度仍由一屋子开会的人决定时,披露流程就成了那块最短的木板。而这次是防守方自己把它拆的。