PHP高危漏洞被泄露:黑客抢在补丁前发动攻击,升级仍是唯一完整解法

源自115位全网作者

10-22 14:12

这次"PHP高危漏洞被泄露",泄露的不是一份漏洞通报,而是一套在补丁发布前就已经能照着打的攻击方法。2026年10月20日夜间,Hacker News上一条声称两个"CVSS 10.0"PHP远程代码执行漏洞即将公开的帖子,被安全公司watchTowr确认真能打出远程代码执行,而官方更新原定要到22日才发布。 发现方之一、安全公司Calif随后又不小心把攻击演示视频发到了网上,虽然很快删除,已被人保存传播;按观察者网梳理的时间线,漏洞细节正是在当地时间10月20日经社交媒体泄露的。知乎观察者网

细节、演示、补丁差异接连外泄,意味着有心人可以拿新旧代码对比、用AI反推漏洞位置。21日下午3点41分,一家容器镜像公司提前6个多小时发布了打好补丁的镜像,PHP基金会罕见地公开开骂;而Cloudflare在补丁正式公开前6小时,已经观测到针对这组漏洞的真实攻击。知乎知乎

防守方与攻击者的抢跑窗口,最终被压缩成不到30小时:PHP把原定10月22日发布的安全更新,提前到协调世界时10月21日14点(北京时间22点)上线;OpenAI同日宣布,联合PHP维护团队、安全公司、云服务商及多国网络安全机构完成的约两个月保密协调修复,就这样在公开前夜被撞开。IT之家微博科技

被泄露的是什么:PHP引擎里的两个"严重"漏洞

这组漏洞被安全社区统称为PHP2Shell,编号CVE-2026-109618和CVE-2026-109619,CVSS v4.0评分均为9.2(严重级),漏洞公开时配套利用工具即已同名流传。 PHP官方公告写得直白:8.5.12、8.4.27、8.3.36、8.2.35四个新版本修掉的是两个可让未认证攻击者远程执行代码的严重漏洞,所有用户被强烈建议立即升级。微博科技PHP官方

按官方定义,CVE-2026-109618出在内存耗尽(OOM)的处理路径上:请求的内部数据只初始化了一半就被中断,随后的清理程序会把无效数据当成有效数据继续处理;CVE-2026-109619则是陈旧状态问题:某个请求持有的内存数据在其底层内存被回收后依然残留,同一个进程处理后续请求时会误用这份"过期"状态。两者的共同后果,是攻击者只需发送一个特制的HTTP请求,就能以Web进程的权限在服务器上执行任意代码。最需要理解的一点是:攻击在应用代码执行之前就已发生。业务代码写得再干净、登录校验做得再严都拦不住,因为洞在语言引擎里,官方点名mod_php风险最高,且已演示出在应用代码运行前即可触发的利用路径。PHP官方

官方划定的暴露面是"所有对外服务Web请求的PHP安装"——PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed全算在内,包括宝塔这类常见服务器面板;Calif实测确认WordPress、Drupal、Joomla、MediaWiki、Magento、phpMyAdmin、Nextcloud、Laravel、Symfony等11款主流应用可被未登录直接拿下。 Calif的技术报告同时给出了一句更硬的话:最早受影响的代码路径能追溯到2012年发布的PHP 5.4.0,默认配置下始终可利用。PHP官方知乎

"全球70%网站受影响"是个误读

中文报道大多写着"影响全球约七成网站",读起来像七成网站已被这两个洞打穿,这个口径需要拆开:七成说的是PHP的生态地盘,不是这次的受灾面。W3Techs在10月22日的统计显示,在所有已知服务端语言的网站中,PHP占69.3%,第二名JavaScript只有8.1%——含WordPress、Discuz等建站程序和大量政务、电商系统。真正被这两个漏洞波及的,是其中运行着受影响版本PHP、又暴露在公网的那部分站点。 体量依然巨大:发现方之一的Wiz Research公开表示,这两个漏洞已在PHP代码库中隐藏了十多年,但一直没有被发现。知乎观察者网

漏洞的曝光本身就带着AI时代的印记:据OpenAI与观察者网披露,今年8月,安全公司Calif借助OpenAI的GPT-5.6 Sol模型找出了潜藏在PHP代码库中的高危缺陷,谷歌旗下Wiz也独立发现并上报了相关漏洞;OpenAI把这纳入其"Patch the Planet"(修补地球)计划,称这是前沿AI抢在攻击者之前发现高危漏洞的案例,为维护者争取到一个"防御者之窗"。 但同一条时间线上,AI同样站到了进攻一侧:泄露的补丁差异可以被AI逆向分析,快速定位漏洞并产出攻击工具——OpenAI自己也承认,同样的模型能力可能被攻击者用于更快开发攻击工具和漏洞利用程序,配套的PHP2Shell利用工具已经公开。观察者网微博科技知乎

补丁之后:各国主动下线,和你现在该做的四步

泄露与抢攻触发了罕见的全球"预防性拔线":荷兰网络安全部门暂时关闭了服务,五个主要政党网站、部分政府门户网站和鹿特丹港网站临时下线,国家网络安全中心(NCSC)连自家官网一并关停,法国内政部则把下属网站置于"预防性维护状态"。 芬兰政府的一批公共服务同步关闭。亚洲方向同样失守:美国人力资源软件公司BambooHR直接停服并预警发薪业务可能受影响,日本niconico、pixiv等进入紧急维护,多款游戏停服;因日本PHP站点实在太多,首相高市早苗也深夜发文,建议企业来不及就先停站。 中国的工信部网络安全威胁和漏洞信息共享平台(NVDB)同步发布紧急提示:攻击者无需任何身份验证即可直接入侵目标系统,建议立即排查并升级至最新安全版本。观察者网知乎华尔街见闻

第一步,查对版本,别查错对象。 `php -v` 显示的是命令行那份二进制的版本,Web请求实际走的是FPM或mod_php,一台机器装多套PHP很常见,必须分开核对;对照的修复版本是8.5.12、8.4.27、8.3.36、8.2.35,低于对应分支末位版本就需要处理。知乎

第二步,能升尽快升,但别等错渠道。 发行版和LTS厂商提前拿到了补丁,优先确认你的软件源有没有同步;补丁发布当天,志愿维护的Remi仓库一度没有更新,跑Docker的要重新拉基础镜像并重建容器,负载均衡后面藏着的机器也别漏掉。升级后重启相关服务这一步不能省——FPM是常驻进程,二进制换了、内存里跑的还是旧代码。PHP官方

第三步,暂时升不了的,官方措施只能"减暴露"。 php.net给出的临时配置包括:用php_admin_value强制memory_limit=-1(等于拆掉触发漏洞的内存上限,代价是进程失去内存保护,真被打满时OOM会连累同机服务)、压低post_max_size、关闭session上传进度、8.5版本再关掉fatal错误回溯等。这些选项各有业务代价——关内存上限、拦multipart上传都会牺牲正常功能,只适合撑过升级窗口。 官方的措辞没有留任何模糊空间:只有升级才是完整解法,以下措施只能收窄特定攻击路径,并不能让系统变安全。知乎PHP官方

第四步,最危险的一批还没解决。 PHP 8.1及更早版本不会再收到PHP项目的正式更新,修复要么从发行版、LTS厂商处获取,要么升级到受支持的版本;而欧盟应急响应组织给出的受影响口径更宽——从2004年发布的PHP 5起的版本都可能受到影响,PHP 8.1及更早版本官方仅提供需自行编译的源码补丁。大量跑在共享主机上、无人维护的老旧站点拿不到自动更新,只能等托管商动作,这一批站点构成了当前最大的残余风险面。观察者网

补丁发出并不等于风险出清。泄露窗口里到底有多少服务器被试探、被利用,目前没有完整的公开统计,已知的只有Cloudflare"披露前已观测到攻击"这一层。接下来值得盯的两件事:一是野利用事件与受损范围的权威汇总,二是存量旧版本站点和托管平台的实际修复进度。对绝大多数跑PHP的站点来说,判断标准其实很简单——Web服务那份PHP的版本到位并重启了吗;没有的话,这件事就还没完。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章