10 月 21 日晚上,荷兰众议院官网挂出了维护提示。吾与AI孰美

日本的 Niconico、Pixiv、《赛马娘》接连停服,FF14 用旧启动器也登不进去。哔哩哔哩差评
关门的理由是一串版本号。同一天,PHP 官方发布 8.5.12、8.4.27、8.3.36、8.2.35。时代互联
修的是两个评分 9.2 的漏洞,编号 CVE-2026-109618 和 CVE-2026-109619,社区把它们合称 PHP2Shell。吾与AI孰美
这不是插件漏洞,也不是某个 CMS 的配置问题。洞在 PHP 解释器自己的内存管理里。知乎
从 5.4 到 8.5 的绝大多数版本都中招。攻击者不用账号、不用密码,发一个特制请求,就能让服务器执行他的代码。时代互联哔哩哔哩
更麻烦的是,它在你 index.php 跑起来之前就触发了。站点只有一个 phpinfo() 页面,也一样。知乎

W3Techs 统计,约 70% 的网站使用 PHP。这个洞,等于把大半个 Web 一起过了一遍。哔哩哔哩
这两个洞在代码里躺了十多年。今年 8 月,OpenAI 的研究员 Calif 用 GPT-5.6 Sol 模型挖出其中一个,谷歌旗下的 Wiz 独立找到了另一个。
8 月 11 日上报,10 月 21 日补丁发布,中间隔了 71 天。吾与AI孰美
补丁有了,事情却没完。Cloudflare 的记录是,公开后 45 分钟,攻击尝试从数千次涨到数万次;两小时后到了数十万次。时代互联
AWS 的蜜罐更早。10 月 17 日,它就记录到第一次利用尝试,比补丁公开还早四天。吾与AI孰美
真正难的是最后一步。Qualys 统计了自家一万多家客户的安装记录:1.67 亿份 PHP 里,1.56 亿份能认出具体版本,其中 1.1 亿份跑在早已停止维护的分支上。知乎
这些分支不会再拿到官方补丁。补丁发布后 12 小时,完成升级的只有 19.9 万台,占 0.13%。吾与AI孰美

还有一层更容易被忽略:你以为自己升了。在终端敲 php -v,看到 8.3.36,很多人就关窗口睡觉了。
但网站请求多半由 PHP-FPM 处理,跑的是另一个二进制、另一份配置。CLI 和 Web 版本不一致,在一台机器上开过几个老项目的服务器里,几乎是常态。算法炼金术时代互联
再往下数,坑还有一串。面板里更新了 PHP 管理器,不等于装上了新版本;Docker 镜像、主机面板自带的 PHP,不会出现在系统的软件包列表里。
补丁装完没重启 FPM,旧 worker 还在跑旧代码。共享主机用户更直接,运行时根本碰不到,只能去问服务商两句话:PHP 升到含补丁的版本了吗?worker 重启了吗?知乎
所以这轮风波里,最值得记住的不是 9.2 这个分数,也不是哪个游戏停了服。是补丁发布之后,仍有一亿多份装机连补丁都没得打;是无数台“已经升级”的服务器,实际还在跑旧版本。
AI 几天就翻出了躺了十多年的洞,但补丁要穿过包管理器、容器镜像、托管商和外包运维,最后才落到那台机器上。
发现是周,协调是月,升级是季度。这三件事的节奏,第一次被摆得这么开。吾与AI孰美

修不好之前,最安全的网站是暂时不存在的网站。这话听着像段子,但那天晚上,很多人的确是按这个做的。差评