PHP远程代码执行漏洞(CVE-2026-109618、CVE-2026-109619)影响PHP 5.4.0至8.1.x全版本及8.2.x

PHP2Shell漏洞(CVE-2026-109618 和 CVE-2026-109619)影响以下具体版本范围:
PHP 8.2
- 受影响:所有低于 8.2.35 的版本(含 8.2.0 至 8.2.34)
- 安全版本:≥ 8.2.35
PHP 8.3
- 受影响:所有低于 8.3.36 的版本(含 8.3.0 至 8.3.35)
- 安全版本:≥ 8.3.36
PHP 8.4
立即学习“PHP免费学习笔记(深入)”;
修复 Core bailout 状态损坏安全问题,以及 BZ2、DOM、PDO、Opcache/JIT 内存与执行错误,改进 Unicode 字素处理、URL 解析、TLS 流状态、信号分发及会话错误处理。
- 受影响:所有低于 8.4.27 的版本(含 8.4.0 至 8.4.26)
- 安全版本:≥ 8.4.27
PHP 8.5
- 受影响:所有低于 8.5.12 的版本(含 8.5.0 至 8.5.11)
- 安全版本:≥ 8.5.12
注意:PHP 8.1 及更早版本(包括 7.x、5.6 等)全部受影响且无官方补丁,必须升级至 8.2.35 或更高受支持分支才能修复。
为什么这些小版本号很关键
这两个漏洞位于 PHP 解释器核心(Zend 引擎),不是功能模块缺陷,而是内存管理逻辑错误: - CVE-2026-109618 涉及 OOM(内存耗尽)时请求内存未完全初始化即被清理 - CVE-2026-109619 涉及请求状态在内存释放后未重置,导致“释放后使用”(Use-After-Free)它们都通过特制的 multipart POST 请求触发,不依赖任何应用代码或插件,因此只要 PHP 版本落在上述不安全区间,无论上层是 WordPress、Shopware 还是自研系统,均存在远程代码执行风险。
如何快速确认你当前的 PHP 版本是否安全
运行以下命令查看精确版本: php -v 输出示例:PHP 8.4.26 (cli) (built: Oct 15 2026 14:22:03) → 属于不安全版本(需升至 8.4.27+)若使用云虚拟主机或控制面板(如 cPanel、宝塔),请直接检查 PHP 版本管理界面,确认已启用 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 或更新版本。
升级不是“换个小版本”那么简单
- 必须重启 PHP-FPM、Apache 或 Nginx(取决于 SAPI 类型),否则新版本不生效 - 若使用 Docker,需重建镜像并拉取含修复版 PHP 的基础镜像(如 php:8.4.27-apache) - 升级后务必验证业务功能,部分扩展(如 ionCube、Swoole)可能需同步更新兼容版本无法升级时的临时缓解措施(仅限过渡)
- 在 php.ini 中禁用高危函数:disable_functions = exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec - 启用 WAF 并拦截含 Content-Type: multipart/form-data 且 body 超大或字段异常嵌套的请求 - 限制上传文件大小与字段数量:max_file_uploads=20、max_input_vars=1000、post_max_size=8M - 关闭非必要公网访问,尤其管理后台、API 入口、测试接口不复杂但容易忽略


















