常见问题
问题与解答
简短直接的回答。需要具体命令和配置,请点击导航中的链接。
最后核实 2026-10-22
我受影响吗?
哪些 PHP 版本有漏洞?+
8.2.35、8.3.36、8.4.27 和 8.5.12 之前的所有版本。研究人员发现受影响的代码可追溯到 PHP 5.4,中间几乎每个版本都至少受其中一个 CVE 影响。
PHP 8.1、8.0、7.x 和 5.x 已停止支持,不会再有新版本。PHP 团队为自行编译 PHP 的用户发布了 7.4、8.0 和 8.1 的最小源码回移植;提供延长支持的操作系统厂商会发布各自的已修复软件包。
这只是 WordPress / Drupal / Joomla 的问题吗?+
不是。它们只是演示目标。漏洞在 PHP 解释器里,所以任何运行在有漏洞 PHP 上的网站都会受影响——Laravel、Symfony、Magento、Moodle、Nextcloud、MediaWiki、自研代码,甚至一个 “Hello World” 脚本。
攻击者需要账号或特定插件吗?+
不需要。已演示的攻击都在认证之前完成,只用普通的 HTTP 请求。不需要登录、插件或特殊接口。
PHP-FPM 受影响吗?还是只有 mod_php?+
都受影响。Apache + mod_php 最容易被利用(两个 CVE 均已在默认限制下证实 RCE)。在 PHP-FPM 上,已验证通过会话路径实现 RCE,OOM 路径经分析也存在漏洞。FrankenPHP 和 LiteSpeed LSAPI 被评估为很可能受影响。
PHP CLI、cron 任务和队列 worker 呢?+
公告关注的是 Web 请求处理。正常使用时 CLI 脚本不会被 HTTP 请求触达,但它们来自同一个软件包,所以无论如何都会一起升级。处理请求的常驻 worker(Octane、RoadRunner、Swoole、FrankenPHP worker 模式)应视为面向 Web。
我的发行版 PHP 显示的是旧版本号,我有漏洞吗?+
不一定。Debian、Ubuntu、RHEL 和 SUSE 会在不改上游版本号的情况下回移植安全补丁(例如 8.3.6-0ubuntu0.24.04.x)。请在软件包 changelog 中查找 CVE-2026-109618——修复指南里有具体命令。
修复
怎么修复?+
在每个运行环境上安装已修复的 PHP 版本(或厂商的已修复软件包),然后重启 PHP-FPM、Apache 和所有常驻 PHP 进程。这是唯一完整的修复方法。应用更新和配置修改都替代不了它。
我用的是虚拟主机,该怎么办?+
选择已修复的 PHP 构建,并请主机商确认 worker 已重启。使用 PHP 8.1 或更早版本时,应询问是否提供覆盖两个 CVE 的厂商回移植补丁;仅凭分支版本号无法判断修复状态。
我没法马上升级 PHP 7.4 / 8.1,怎么办?+
确认你的操作系统厂商(RHEL、Ubuntu Pro / ESM、Debian LTS、CloudLinux)是否提供已修复软件包——长期支持厂商都提前拿到了补丁。如果你自行编译 PHP,请应用 PHP 团队为 7.4、8.0 或 8.1 提供的源码回移植。同时应用临时缓解措施、保持 WAF 防护,并规划迁移到 8.4 或 8.5。
WAF 或 CDN 能保护我吗?+
只能部分保护。Cloudflare、Akamai、Imperva 等厂商都发布了规则或指引,Cloudflare 免费版也已覆盖。但覆盖范围因厂商和攻击路径而异,攻击者也已在变形载荷以绕过规则。请把 WAF 当作争取打补丁的时间,而不是修复。
升级会导致什么问题吗?+
这些都是同一分支内的补丁版本,通常不影响应用兼容性。有一处行为变化:新的硬内存限制会立即结束进程,此时关闭函数不会运行。请测试内存消耗大的路径。
风险与排查
内存泄露会泄露哪些内容?+
PHP worker 内存中的任何东西:数据库密码、API 密钥、会话 Cookie、其他用户的请求数据,以及 PHP 加载过的证书或密钥。这条路径不需要执行代码,因此更隐蔽。
已经被利用了吗?+
Cloudflare 在 2026 年 10 月 21 日报告了早期攻击,攻击载荷在不断变形以规避规则;watchTowr 也报告其蜜罐观察到利用。目前尚无公开的已证实入侵。禁令在发布前就已泄露,请默认有能力的攻击者已经掌握可用的利用代码。
我能判断自己是否被攻击过吗?+
无法确定。有用的信号包括:multipart 请求后的内存上限致命错误、大量 HTTP 500、worker 段错误,以及异常长或经过百分号编码的 PHPSESSID Cookie。没有这些信号不代表安全,而且由于漏洞运行在应用之下,应用日志可能什么都看不到。
怀疑被入侵了该怎么办?+
保全日志,给主机打补丁或隔离主机(最好从干净镜像重建),轮换 PHP 内存中可能出现的所有机密,让会话全部失效,并评估这些凭据还能访问哪些系统。
背景
为什么叫 PHP2Shell?+
php2shell 是研究人员用来在 WordPress、Drupal 和 Joomla 上演示无需认证远程代码执行的组合利用脚本名称,后来也成了整项研究的名字。
是谁发现的?+
Wiz Research、OpenAI Codex Security 和 Calif,在 2026 年 8 月至 9 月间各自独立报告,由 PHP 安全团队开发修复。Wiz 表示 AI 模型在漏洞发现、利用开发和补丁验证中提供了帮助。
为什么有些网站说是 CVSS 10.0?+
CVE 编号在发布前泄露时附带了错误的 10.0 分。两个 CVE 的官方 CVSS 4.0 评分都是 9.2。