10月21日(UTC时间),PHP官网同步发布两项安全公告,修复引擎核心中两个严重级远程代码执行(RCE)漏洞:CVE-2026-109618(OOM内存耗尽引发数据损坏)与CVE-2026-109619(陈旧全局状态残留),CVSS v4.0评分均为9.2(Critical),安全圈将这一组合统称为"PHP2Shell"。 危险之处在于攻击发生在PHP引擎底层:不需要账号密码,也不依赖网站程序自身的缺陷,攻击者发送特制HTTP请求就可能接管服务器——在官方演示中,一个精心构造的堆布局就足以产出完整的远程代码执行。PHP官网知乎GitHub
漏洞编号与技术细节早在补丁发布前就已通过公开渠道提前流出。知乎
Cloudflare已经确认实际利用出现,并强调拦截只是缓冲。华尔街见闻
紧急下线随之出现:芬兰政府公共网络服务已"作为预防措施"下线。 日本大量服务、游戏、网站集体进入紧急维护,"多国紧急下线"的说法由此而来。 另据国内科技账号转述外媒消息,包括芬兰、荷兰、法国在内的部分国家也紧急关闭了相关政府网站。华尔街见闻微博知乎
为什么宁肯下线,也不等补丁
芬兰政府IT服务商的表态很直白:对无法及时安装修复的机构,建议直接暂停网站运行。 这个选择背后是一个残酷事实:官方补丁只覆盖PHP 8.2至8.5受支持分支(对应修复版本8.2.35、8.3.36、8.4.27、8.5.12),而PHP 8.1、8.0及7.x、5.x均已终止支持(EOL),不会获得官方二进制更新,官方仓库只向自行编译源码的用户和Linux发行版维护者提供最小化回移植补丁。 配置层面的绕行手段同样不被官方认可:针对陈旧全局状态漏洞,公告明确升级到含完整状态重置补丁的版本是唯一可靠的缓解措施,不存在通用的配置替代。 社交媒体上流传的"改ini就行"只对了一半:关闭会话上传进度、在8.5上关闭`fatal_error_backtraces`、行政强制`memory_limit=-1`,都只能掐断已被证实的个别利用路径,官方明确不保证没有其他触发点。升级动不了、缓解防不全,与其裸奔,不如拔线。微博知乎GitHub
病灶在引擎而不是应用:一个内存清理出错,一个旧请求"还魂"
OOM损坏:PHP在处理内部请求且相关结构仅完成部分初始化时若发生内存耗尽,内存分配中断会导致请求清理流程出错,把未初始化的非法内存视作合法对象与数据进行解析和销毁,精心构造后可导向任意代码执行。 攻击者还能用multipart构造请求绕过名义限制、主动把内存耗尽——不声明内容长度、在单个分段里塞几乎无限多的头部、让文件字段名层层嵌套,请求表面合规,内存实际爆掉。官方公告确认:在默认配置的Apache mod_php上,完整RCE已通过HTTP验证,全程不需要任何应用代码配合。知乎GitHub
陈旧全局状态:常驻worker进程跨请求复用,上一个请求因致命错误没能重置的全局状态在内存释放后仍然残留,下一个请求在正常初始化之前就读取它,形成use-after-free。 最容易触发的通道是默认开启、甚至不需要网站代码调用session_start()的会话上传进度功能。知乎GitHub
PHP安全团队据此提醒:由于漏洞在请求到达应用程序代码层之前便已触发,单纯依赖应用程序层面的代码修改无法抵御攻击。 换句话说,这不是给WordPress装个插件能解决的问题,必须动PHP本体。知乎
源码分析显示PHP-FPM同样易受该漏洞影响,只是尚无公开的完整FPM利用链。 而所有对外提供Web请求服务的PHP安装环境——PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed——都须排查升级,其中mod_php因其在请求启动阶段无条件执行清理流程,被官方评定为受威胁等级最高。GitHub知乎
攻击者已在路上,AI把发现与利用都提前了
社交媒体上流传的"OpenAI发现PHP2Shell"话题并不准确:最早发现漏洞的是安全公司Calif的Ryan Austin。 10月21日,OpenAI公布旗下AI模型GPT-5.6 Sol参与发现了这一漏洞;安全公司Wiz也独立发现并报告了相关漏洞,OpenAI同时提出了一套分阶段漏洞响应框架。 防守方借AI抢到了时间,但同类工具摆在那里——伦敦国王学院高级研究员Lukasz Olejnik指出,随着人工智能辅助攻击手段的扩散,漏洞利用可能在大规模、即时的层面上迅速蔓延。微博42号电波华尔街见闻
由于PHP是WordPress等主流建站平台的底层引擎,安全研究人员警告,攻击者无需逐一锁定目标,只需扫描互联网即可批量发现存在漏洞的服务器。 据央视援引《华尔街日报》报道,该漏洞可能使黑客控制基于PHP运行的服务器、窃取信息或对访问相关网站的用户发动网络攻击。华尔街见闻CCTV国际时讯
现在该做什么
腾讯云安全中心已发布php2shell远程代码执行漏洞风险通告,国内云厂商同步提醒修复。快科技
升级必须配重启:通过apt、dnf、yum等包管理器更新,或重新拉取基础镜像后重建部署;更新底层二进制后,必须重启Web服务器及PHP处理进程,让常驻worker彻底退出。只换二进制不重启,内存里的旧进程仍在裸奔。知乎
EOL系统别等官方包:8.1及更早版本无官方二进制修复,能自编译的评估官方回移植补丁,其余尽快规划迁移到受支持的PHP 8.2+。
短期无法升级的,按官方列出的不完整缓解顶住:强制`memory_limit=-1`并确认没有池级、目录级配置把限制改回有限值;PHP 8.5关闭`fatal_error_backtraces`;前端拦截multipart请求。官方特别警告不要用`RLIMIT_AS`或`RLIMIT_DATA`设内存上限,因为达到限制时会导致分配失败,恰恰触发有漏洞的代码路径。 WAF与防火墙规则同理,是缓兵之计。GitHub
普通用户:这是服务器端漏洞,主要风险是网站服务器被接管、站内数据被窃取,不是你的账号密码被直接破解;等待网站侧修复即可,无需恐慌性改密,访问敏感服务时留意站点公告。
截至10月22日,官方尚未完整披露受影响版本清单——口径是PHP 5及以上版本均可能受到影响,但目前尚未具体披露哪些版本存在漏洞。 实际受损规模也没有公开统计,补丁覆盖速度与利用链扩散程度,是接下来最值得盯的两个信号。华尔街见闻