10月21日14:00(UTC),PHP官方紧急发布8.5.12、8.4.27、8.3.36、8.2.35四个版本,修补CVE-2026-109618与CVE-2026-109619两个漏洞,两者都被研究社区称为"PHP2Shell",不登录就能在服务器上远程执行代码。官方按CVSS v4.0把两个漏洞都评为9.2(Critical),漏洞可能允许攻击者在未经身份验证的情况下远程执行代码,进而控制服务器、窃取信息。对所有还在运行PHP的网站运营者来说,当下只有一条有效动作:升级到修复版本;PHP 5.x/7.x与8.1及更早、拿不到官方二进制补丁的站点,立即改用发行版或面板适配的修复包;来不及完成的,按"先关停、再处置"执行。缺陷位于PHP解释器处理请求和回收内存的环节,不在你的网站代码里。知乎新浪微博
处置窗口被一连串意外压缩到极限。10月20日,两个CVE编号带着错误的发布时间和满分10.0的错误评分提前外流,PHP把发版从22日提前到21日;参与报告的安全公司Calif又误发了含PoC的演示视频,删除后副本仍在传播。攻击尝试的增速随后失控:正式公布前10小时网络上已录得数千次尝试,公布后45分钟数万次,两小时内数十万次,之后升至数百万次。AWS威胁情报团队披露,其MadPot蜜罐最早在10月17日——补丁发布前4天——就出现了利用尝试,披露当天又监测到来自不同匿名基础设施的多起尝试。同样要说清楚的是:攻击尝试、存在漏洞、已经失陷是三件事,公开记录目前仍集中在攻击尝试,没有机构确认具体的成功入侵案例——但这不是等一等再打补丁的理由。知乎知乎
很多人爆雷后的第一反应是更新WordPress、Drupal或插件,这次没有用:补丁必须打在PHP本体上。Wiz用当时最新的WordPress、Drupal、Joomla镜像复现了未登录状态下的远程代码执行,即使网站只有一个"Hello World"页面,只要底层PHP在受影响范围内就照样中招。攻击可以由一个未认证请求触发、发生在应用代码执行之前,Apache的mod_php风险最高,php-fpm较难利用但同样不免疫。知乎知乎
第一步:确认实际在跑的版本,别只看屏幕上的输出
自行运维的网站不能只看php -v——命令行用的二进制,可能和PHP-FPM或mod_php实际运行的版本不同。容器化站点要查基础镜像版本;通过Linux发行版装PHP的站点,厂商可能在不改版本字符串的情况下已把修复打进去,应核对包管理器的changelog,而不是只读版本号。主机商或建站公司代管的网站,要确认实际对外提供Web服务的PHP是什么版本。知乎
第二步:按分支处置,升级之后别忘了重启
仍在支持期内的站点直接升到8.2.35、8.3.36、8.4.27、8.5.12;Docker部署必须换基础镜像并重建容器,只升宿主机没有用。PHP 8.1及更早版本不再获得官方二进制更新,只能靠发行版和面板适配——宝塔已为PHP 5.4到8.x共14个版本分支提供修复包,其中PHP 7、PHP 8系列可直接在面板更新,PHP 5.4/5.5/5.6需执行脚本手动更新并做兼容性验证;宝塔同时提醒,旧版修复包只针对本次已知问题,并不意味着旧版本重新获得官方持续维护,生产环境更新前务必备份、先测再上。升级后必须重启PHP-FPM、Apache以及队列worker、Laravel Octane等常驻进程——进程里跑的还是旧代码,升级就不算完成。WordPress.com托管与Tumblr站点由Automattic确认不受影响,但每个代管站都以自己服务商的答复为准。知乎知乎知乎
第三步:今天修不了,用缓解措施,或者主动断网
官方公告列出的临时缓解包括关闭session.upload_progress、设置memory_limit=-1、降低post_max_size;10月23日PHP又专门发布安全通告,建议在下个常规修复版本前把session.upload_progress.enabled置为0——不依赖原生Session上传进度的Laravel、Symfony、ThinkPHP等主流框架,关闭后业务基本无感。但这些只覆盖特定攻击路径,PHP核心开发者Gina Peter Banyard的说法很直接:唯一的缓解办法就是打补丁、升级PHP。当连缓解措施都落实不了时,英国NCSC的建议是考虑暂时关闭网站,并在恢复上线前检查是否被植入后门。国家级反应也是同一逻辑:日本首相高市早苗亲自发帖,要求所有网站检查是否使用PHP,补丁出了马上打,来不及的话,先把网站停掉。知乎知乎新浪微博
避坑:这些下意识的反应,一条都别照做
停机不等于被黑。这一轮大规模"瘫痪"大多是主动预防:维基媒体把云服务与代码协作平台整体下线,荷兰、芬兰方面均表示当时未发现漏洞被利用的迹象;《赛马娘》日服和国际服紧急停服后已于10月23日恢复并向玩家发放补偿,开发商明确表示漏洞未被利用。《碧蓝幻想》《公主连结!Re:Dive》《刀剑乱舞》等一批日本游戏和网站也都进入紧急维护,把"维护公告"直接读成"被攻破"是最常见的误判。知乎新浪微博
“七成网站用PHP"不等于"七成网站被黑”。这是能识别服务端语言的网站中的占比,Censys的测量是约258万个面向互联网的主机、5490万个Web属性运行PHP,其中约150万个主机当时还用着没有修复方案的版本——它们描述的是暴露面,不是失陷数。同一份W3Techs统计里,PHP 7约占PHP站点的33.7%、PHP 5约占8.8%——这次旧版本修复包只是堵住这一个洞,风险的终点仍是迁移到官方维护的版本,把临时适配当成永久安全垫是最大的坑。知乎知乎
访客不需要跟着恐慌。这是服务器端问题,与浏览器无关,不必因此更换所有密码;只需留意各服务的官方通知,尤其警惕有人借势发送的钓鱼信息——币安创始人CZ也提醒,未来几天访问网站应格外谨慎,部分网站管理员可能没有及时装上补丁。顺带一提,这两个漏洞由Wiz、Calif等团队借助大模型在PHP解释器里挖出,缺陷在代码库中存在了数十年——AI把发现门槛大幅拉低之后,"老代码没人看就安全"的幻觉也该一起清退了。知乎