夜雨聆风学习资料网

ARTICLE · 1235405

AI 挖出 PHP 潜藏 10 年漏洞:站长 10 分钟自检法

AI 挖出 PHP 潜藏 10 年漏洞:站长 10 分钟自检法

AI 挖出 PHP 潜藏 10 年漏洞:站长 10 分钟自检法

如果你的网站、公司官网或者你在维护的 WordPress 是用 PHP 跑的——全球约 75% 可识别语言的网站都是——过去 48 小时发生的事就与你直接有关:AI 在 PHP 代码库里挖出了两个潜伏超过十年、可以无认证远程接管服务器的高危漏洞,荷兰、法国、丹麦、芬兰多国政府网站被迫主动下线避险,紧急补丁已于 10 月 21 日发布。你的补丁窗口,就是现在。

是什么:一场由 AI 引爆的全球抢修

事情的脉络很清晰:

•今年 8 月 1 日,安全公司 Calif 借助大语言模型率先在 PHP 中找到两个严重漏洞;几乎同一时间,Alphabet 旗下安全公司 Wiz 也用其自治漏洞研究工具 Wiz Atlas(配合谷歌 Gemini 4 Argon 与 OpenAI GPT-5.6 Sol)独立发现了同一对漏洞。双方按行业惯例进入保密协作期,与 PHP 团队一起准备统一修复。
•10 月 20 日,漏洞细节在社交媒体提前泄露。PHP 团队被迫把原定周四的补丁紧急提前到 10 月 21 日 14:00 UTC 发布,修复 CVE-2026-109618 与 CVE-2026-109619。
•补丁发布前,Cloudflare 已记录到首批攻击(UTC 时间 10 月 21 日 07:43);亚马逊安全主管 CJ Moses 披露,其蜜罐系统在 10 月 17 日——漏洞仍处于保密期的四天前——就遭到利用尝试。目前漏洞「已在野外被广泛利用」。
•受影响范围:所有近 20 年发布的 PHP 版本。据互联网测绘公司 Censys 数据,260 万台主机中约 150 万台运行着「没有官方补丁可装」的旧版本 PHP。这套漏洞组合被安全圈命名为 PHP2Shell——通过构造异常 HTTP 请求触发内存错误,无需登录即可远程执行代码、拿下服务器。

于是出现了罕见的一幕:荷兰国家网络安全中心自己先下了线,随后鹿特丹港、政府门户、荷兰五大政党官网、丹麦全国校际沟通平台、芬兰政府公共服务、法国内政部全部网站,陆续主动下线「预防性维护」。日本首相在 X 上发文催站长检查 PHP 版本。维基百科和互联网档案馆也临时关闭了部分系统。

为什么重要:AI 把补丁窗口压缩成了「以小时计」

这件事值得每个不在安全行业的人记住一个判断框架:漏洞的危险程度 = 影响面 × 可利用难度 × 修复窗口长度。前两项这次都拉满了——PHP 无处不在、漏洞无认证可打——而真正被 AI 改变的是第三项。

过去,一个潜伏十年的复杂漏洞,即使补丁公开,人类黑客逆向理解它也需要数周,全球修复有充足的时间差。现在,Wiz 在博客里说得很直白:「AI 之前,这种手工工作难以实现更难以规模化;有了 AI,这不再是障碍。」补丁公开的那一刻,AI 同时武装了修复者和攻击者,安全公司 TLP:Black 的 Costin Raiu 把这称为「竞速式利用(race to exploit)」,下一步就是「对全网每一台未打补丁的服务器进行大规模攻陷」。OpenAI 把这个概念正式化为「防御者窗口(Defender's Window)」:防守方必须在同一能力被武器化之前抢先完成修复。

换句话说:「补丁出了可以周末再升」的时代结束了。

怎么用:站长 10 分钟自检四步法

不用恐慌,按顺序做这四件事,大多数个人和小型站点 10 分钟内可完成:

第一步:查清你真实的 PHP 版本(2 分钟)。 WordPress 用户:后台「工具→站点健康→信息→服务器」直接显示 PHP 版本;用宝塔面板的,在「软件商店→PHP」里看当前版本;共享主机用户可在主机控制面板(cPanel 的「Select PHP Version」等)查看。记下这个数字。

第二步:能升级就升级(3 分钟)。 修复覆盖官方仍在支持的版本线。把 PHP 升级到各发行版已包含 10 月 21 日安全更新的最新小版本:Ubuntu/Debian 用 sudo apt update && sudo apt upgrade,CentOS/RHEL 系用 sudo yum update php\*,宝塔面板在 PHP 设置里点「升级」。WordPress 等应用本身也要升到最新版。

第三步:验证补丁确实到位(1 分钟)。 Debian/Ubuntu 系执行 zgrep CVE-2026-109618 /usr/share/doc/php8.1-common/changelog.Debian.gz(版本号按实际替换),RHEL 系执行 rpm -q --changelog php-common | grep CVE-2026-109618——能 grep 到该 CVE 编号即说明补丁已装(这是安全公司 Sansec 给出的公开检查方法)。

第四步:查入侵痕迹并做一次备份(4 分钟)。 如果你的站点在补丁发布前就暴露在公网,检查 Web 访问日志里有无指向 PHP 处理器的异常 POST 请求、网站目录里有无不明 .php 文件、crontab 与启动项有无陌生条目;无论结果如何,立刻做一次全站+数据库备份——这是任何应急的底线。

一个额外提醒:用 WordPress.com 托管服务或 Tumblr 的用户,运营方 Automattic 已确认其托管环境不受影响,可以少操心,但仍建议确认自己的独立站点情况。

避坑与局限

1「PHP 8.1 及更早版本」没有官方补丁。 官方只更新受支持版本线,老版本只提供需自行编译的源码补丁。如果你的站点还在跑 7.x/8.0/8.1,升级版本线是唯一出路——先在测试环境过一遍兼容性,别直接在生产上跳版本。
2共享主机的「自动更新」未必覆盖你。 很多小型站点跑在共享主机上,你无权管理底层 PHP。补丁要靠主机商统一操作——今天就去问主机商「PHP 已升到含 10 月 21 日安全修复的版本了吗」,把被动等待变成主动确认。
3打了补丁 ≠ 安全了。 漏洞已在野外被利用,攻击者可能早已在未打补丁的机器上站稳脚跟。补丁解决的是「以后进不来」,不解决「已经进来了」——所以第四步的痕迹排查与备份不可省略。
4别只盯着 PHP 本身。 WordPress、Drupal、Joomla、Magento 及其插件的生态链上,任何一环带着旧 PHP 运行都可能是缺口;同时注意,嵌入在这些系统里的第三方组件也需要各自的更新。

迁移视角:即使你不是站长

这套「防御者窗口」思维可以搬进你自己的工作流:你依赖的任何开源组件(框架、镜像、npm/pip 包),都可以设一条规矩——安全公告发布后 24 小时内完成「查版本→升级→验证」。GitHub 的 Dependabot、GitLab 的依赖扫描都能把这件事自动化;个人项目至少可以订阅所用核心项目的安全公告 RSS。AI 时代的安全差距,就是「谁先完成这 24 小时」的差距。

📌 今日收获

1全球 75% 网站依赖的 PHP 被 AI 挖出两个潜伏十年的无认证 RCE 漏洞,补丁已于 10 月 21 日发布——今天就去查你的 PHP 版本。
2站长四步自检法:查版本→升级→zgrep/rpm -q 验证 CVE-2026-109618→查日志痕迹并备份,全程约 10 分钟。
3新常态叫「防御者窗口」:AI 把漏洞修复的黄金时间从几周压缩到 24 小时,安全公告发布当天就升级,不再是可选项。

适合谁:个人站长、中小企业官网/电商管理员、运维与开发,以及所有「网站不归我写但归我管」的人。

相关学习资料