10月21日那个晚上,机房里的人比双11还忙。荷兰、法国、丹麦、芬兰的政府网站一个接一个下线,连荷兰国家网络安全中心自己的官网都关了;比利时、德国也有政府网站采取预防性下线,BBC官网、爱丁堡市议会网站同样短暂关停。欧洲时报今日俄罗斯
日本这边,pixiv、niconico紧急维护,碧蓝幻想、公主连结、赛马娘、刀剑乱舞、DLsite、万代频道排着队停服。美国NSA和英国NCSC先后发布警报,腾讯云、阿里云发出紧急通告,宝塔面板在B站官号喊话"请立刻升级"。这次的主角不是什么新出现的勒索团伙,而是被嘲了十几年"世界上最好的语言"的PHP。游研社36氪哔哩哔哩

先把事实和段子分开
两个漏洞编号CVE-2026-109618、CVE-2026-109619,研究者把这对组合起了个直白的代号:PHP2Shell——从PHP直通你的服务器命令行。CVSS 9.2分(泄密期谣传10.0满分,官方口径是9.2),攻击者无需登录,发一个特制的multipart POST请求就能触发内存破坏,最终在服务器上执行任意代码。微博
最扎心的一点:触发可以发生在你的网站业务代码运行之前。应用层写得再干净都没用,地基本身漏了。
补丁本来是10月22日按计划发布,因为漏洞信息提前泄露(10月20日深夜HackerNews已有人发帖预警,随后被多家安全机构证实),PHP官方把发布提前到21日夜间,罕见打破常规更新周期。期间还有上游厂商把打好补丁的容器镜像提前放出来,被PHP基金会点名批评——新旧镜像让AI对比一下,漏洞位置基本就明牌了。知乎
AI在这次事件里不是背景板:路透社报道的标题就是"人工智能发现漏洞引发安全危机";OpenAI公开认领漏洞由其模型辅助发现,安全公司Calif与它合作,谷歌旗下Wiz Research独立报告了更多利用路径。Wiz团队还把相关漏洞整合为单一利用脚本php2shell,并在WordPress、Drupal、Joomla的官方容器镜像上复现了无需认证的远程代码执行。微博知乎
官方修复版本:8.5.12、8.4.27、8.3.36、8.2.35,覆盖全部当前支持的分支。
三件需要去噪的事:
"全球70%网站中招"不是感染率。它来自PHP的装机占比口径——W3Techs的统计里,可识别服务端语言的网站约75%跑PHP、约43%的网站由WordPress支撑。占比不等于风险,你的风险只取决于一个数字:服务器上正在跑的PHP版本号。微博
“升级了还有POC能打通”:宝塔视频的评论区有人称补丁版本仍被POC打穿(7个赞),目前官方和主流安全厂商没有给出可复现结论,按未经证实的社区传言处理。别因为这句话不升级,也别升级完就从此不管——社区还在跟踪apache+mod-php与php-fpm两种环境下利用稳定性的差异。哔哩哔哩
"安全股大涨"不等于风险解除。Datadog一度涨超6%、Cloudflare涨约6%刷新日高,吃的是过渡期的"临时防护"订单。微博

真正吓人的不是漏洞,是你的PHP没人"包干"
WordPress安全插件Wordfence这次提醒了一句该被每个站长记住的话:WordPress的自动更新,不会帮你把PHP补丁打上。PHP活在你看不见的服务器环境层,不在网站代码层——网站是你在管,引擎却可能是个没人认领的孤儿。微博
这不是抬杠。微博上有个FF14玩家,用阿里云一键部署搭了个给游戏图书馆用的WordPress小站,PHP停在7.2.27,云厂商的安全通知收到了,但不知道从哪下手升级。宝塔视频的评论区里,“到底升到哪个版本才算安全”"7.4什么时候修复"问成一排。共享托管、建站外包的用户更尴尬:你连底层服务器都摸不到。云厂商的通知还普遍慢半拍,有站长晒出短信:收到时维护公告都刷第二轮了。微博哔哩哔哩
风险最集中的,恰恰是这批"老、慢、长尾":十几年没登录过的论坛、小店的付款页、公司内部的报销系统、15年前搭好再没动过的后台。攻击者根本不用锁定你——扫一遍互联网就够了。
今晚自查:对照你的版本,再动手
你在跑的PHP | 处境 | 今晚该做的 |
|---|---|---|
8.2–8.5 | 官方支持分支 | 升级到8.2.35 / 8.3.36 / 8.4.27 / 8.5.12;先备份整站,再在低峰窗口执行,完成后核对php -v |
7.4 | 已停止正式支持 | 官方仅提供针对这两个漏洞的最小补丁分支,需自行编译;不会编译的,优先用宝塔/云厂商仓库发布的修复构建(确认来源是面板官方渠道,并看changelog写没写这两个CVE) |
5.4–7.3 | 长期EOL,无官方修复 | 今晚先把最容易触发的上传进度功能(session.upload_progress)在php.ini里关掉,这是权宜之计不是修复,并且这周就把迁移计划提上日程 |
不知道版本 | 最高危状态 | 服务器上执行php -v,或去云控制台/宝塔面板看网站环境;不知道自己版本,不叫有风险,叫开盲盒 |
7.4那条分支的成色,技术圈也在验证:有从业者指出这个最小修复相当粗暴,直接在源码层面关掉上传进度处理。用CloudLinux多PHP版本仓库的再注意一条:它自己报告修复包已经发布,但"安全更新"的元数据还没标注——把列出来的安全更新全装了,也可能恰好漏掉PHP这个补丁,需要手动核对alt-PHP的实际版本号。微博微博
升不动、不敢升,是两笔账
升级确实有翻车成本:主题插件不兼容、站点白屏,这在社区吐槽里不少见。但另一笔账要摆平了看——不升级的窗口期里,服务器被扫描接管、网站数据库和用户数据泄露、被拿去挂钓鱼页或当挖矿跳板,任何一项都比"低峰期停一小时升级"疼。
如果今晚确实升不动,又不想赌:先做临时缓解(关上传进度功能、CDN/WAF顶上,并记住这只是权宜之计);小站可以学这波各国机构的做法——临时下线。NSA把话说得很直接:网站如果无法立即修复,就应当下线,直到完成补丁。下线不等于被黑,抢在补丁部署前关门是正当选项。Cloudflare CTO自己也承认,防火墙规则会跟着新攻击向量持续更新,但这仅是权宜之计,应尽快打补丁。对一个没什么人访问的自建站,关门一天,远好过数据泄一次再全网通报。36氪微博

升完之后别急着关电脑,做三件事:核对版本号;确认临时配置项该关的关了、上传类业务功能没问题;翻一眼最近的访问日志,看有没有大量异常的multipart POST请求刷过。
为什么建议你收藏这次事件:攻防的时钟速度变了
这条时间线值得每个机房的人存下来:AI参与审计后,从开始到找到第一个可利用入口只用了2天;而从漏洞被确认到补丁发布,拖了整整两个月。发现的速度和修复的速度彻底不同步,中间夹着的,就是扫描器进场的窗口。
B站那期"全球PHP服务器大逃杀"视频下面,点赞最高的评论(469赞)说:"以前还能不停机慢慢修;现在补丁出来后,15分钟修不完,AI逆向补丁生成的攻击工具就要打过来了。"方向不夸张——AWS已经公开表示,php2shell正在被大范围利用。OpenAI也在复盘里说,这只是它已发现、正在协同修复的多个重大漏洞之一,接下来几个月类似发现会急剧增加。知乎哔哩哔哩
而托底的人没变多:PHP基金会自己在复盘里承认,拖延是决策流程和人手不足造成的"结构性失败",Debian的PHP打包维护者的赞助页被网友翻出来,一个月不到700美元。全球约四分之三的可识别网站,就在等这样一批人半夜发版。知乎

所以今晚把补丁打上之后,请顺手问一句:我的网站的PHP,到底归谁负责?是云厂商、建站外包,还是"应该会自动更新吧"?如果答案含含糊糊,那这个责任链的空位,才是这次PHP2Shell给你的最大提醒。补丁能修好这一次,但下一个"藏了十几年的雷"被AI挖出来的时候,你最好已经知道自己该查哪个版本号、该找谁动手、来不及的时候该关哪扇门。