PHP2Shell漏洞(CVE-2026-109618/109619)是PHP核心引擎级RCE漏洞,影响所有运行方式,必须升级至8.2.35/8.3.36/8.4.27/8.5.12及以上版本;8.1及更早版本无修复,需迁移至8.3+。

PHP 8.x 各扩展的高危 CVE 漏洞近期集中爆发,尤其以 SOAP、PDO Firebird、PHP-FPM status 页面 和底层请求生命周期缺陷(PHP2Shell)为主。修复不是“打补丁”,而是必须升级到指定小版本——低版本即使打上第三方补丁也无效。
以下按扩展/组件维度整理关键漏洞、影响机制与对应修复版本(截至2026年11月初最新确认):
SOAP 扩展:CVE-2026-6722(Use-After-Free → RCE)
这是目前最危险的漏洞,CVSS 9.5,无需认证,构造含 Apache Map 类型的 XML 请求即可触发远程代码执行。
- 影响所有启用
ext-soap的 PHP 8.x 应用(无论是否实际使用 SoapServer/SoapClient) - 根本原因:XML 解析器在特定嵌套结构下释放内存后未清空指针,后续调用触发 UAF
- 修复版本:PHP 8.5.6、8.4.21、8.3.31、8.2.31(注意:8.1.34 仅修复该 CVE,但 8.1 已终止支持)
PDO Firebird 驱动:CVE-2025-14179(SQL 注入)
专用于 Firebird 数据库的 PDO 驱动存在 NUL 字节截断漏洞,攻击者可绕过参数绑定注入恶意 SQL。
修复 Core bailout 状态损坏安全问题,以及 BZ2、DOM、PDO、Opcache/JIT 内存与执行错误,改进 Unicode 字素处理、URL 解析、TLS 流状态、信号分发及会话错误处理。
立即学习“PHP免费学习笔记(深入)”;
- 仅影响明确使用
pdo_firebird扩展 + Firebird 数据库的系统 - 常见于政务、金融类遗留系统(Firebird 在国内部分行业仍有部署)
- 修复版本:同上一批次,即 8.5.6 / 8.4.21 / 8.3.31 / 8.2.31
PHP-FPM status 接口:CVE-2026-6735(XSS)
暴露 /status?full 或 /status?html 页面时,未过滤 QUERY_STRING 中的 HTML 特殊字符,导致反射型 XSS。
- 风险等级为 HIGH(7.3),不直接导致 RCE,但可被用于会话劫持、后台管理员提权等横向攻击
- 只要启用了
pm.status_path且未加访问控制(如 IP 白名单、HTTP Basic Auth),即受影响 - 修复版本:同样包含在 8.5.6 / 8.4.21 / 8.3.31 / 8.2.31 中,修复方式为对 status 输出做默认 HTML 实体转义
核心运行时(非扩展,但影响全部扩展):CVE-2026-109618 & CVE-2026-109619(PHP2Shell)
这两个漏洞不依赖任何扩展,而是 PHP 请求处理引擎本身的状态管理缺陷,所有部署形态(PHP-FPM、mod_php、cgi、FrankenPHP)均沦陷。
- CVE-2026-109618:OOM 触发 longjmp 后,未完成初始化的请求内存被清理逻辑误读 → 内存损坏 → RCE
- CVE-2026-109619:worker 进程中全局状态残留,导致后续请求访问已释放内存 → UAF → RCE
- 攻击载荷极简:一个带超长 header 或畸形 multipart boundary 的 HTTP POST 即可触发
-
修复版本(唯一有效方案):
- PHP 8.5 → 必须 ≥ 8.5.12
- PHP 8.4 → 必须 ≥ 8.4.27
- PHP 8.3 → 必须 ≥ 8.3.36
- PHP 8.2 → 必须 ≥ 8.2.35(8.2 分支最后的安全更新)
特别注意:PHP 8.1 及更早版本(含 8.0、7.4、7.3 等)官方已停止维护,无任何修复版本。当前国内仍有超 80% 的 PHP 资产运行在这些版本上,必须立即规划迁移至 8.3+,否则无法防御 PHP2Shell 类漏洞。


















