PHP2Shell是CVE-2026-109618和CVE-2026-109619两个高危RCE漏洞,CVSS评分9.2,存在于PHP解释器核心内存管理机制中,无需身份验证,通过特制multipart POST请求即可触发远程代码执行,影响PHP 5.4至8.5.12等所有旧版本。

PHP2Shell 是一组影响 PHP 核心引擎的高危内存安全漏洞,编号为 CVE-2026-109618 和 CVE-2026-109619,CVSS 评分高达 9.2,属于最高等级的远程代码执行(RCE)漏洞。
它不是业务代码写错导致的问题,而是 PHP 解释器自身在 C 层实现中长期存在的内存管理缺陷。只要服务器运行了受影响的 PHP 版本,无论网站用的是 WordPress、Drupal 还是仅有一行 <?php echo "Hello"; ?> 的简单页面,都面临风险。
核心特点是:无需登录、无需用户交互、仅靠一条特制 HTTP 请求就能触发。
攻击者通常发送一个构造过的 multipart POST 请求(比如含大量嵌套字段、空文件控件或超长头部),在 PHP 处理过程中故意耗尽内存(OOM),让异常退出路径跳过关键清理步骤,从而造成内存状态错乱——例如把未初始化的内存块当作有效数据处理,或复用已被释放的内存地址。这种“记错账”的行为,正是利用 Use-After-Free(释放后使用)和内存破坏实现 RCE 的基础。
立即学习“PHP免费学习笔记(深入)”;
两个漏洞协同作用:
- CVE-2026-109618 出在 Zend 哈希表插入逻辑中,OOM 发生在 key 分配前,但计数器已递增,后续销毁时会误析构无效 Bucket;
- CVE-2026-109619 出在 Session 上传进度功能中,OOM 导致请求堆提前释放,但工作进程仍保留指向该堆的悬垂指针,下次请求可被诱导访问已释放内存。
结果是攻击者能以 Web 进程身份读取密码、API 密钥、令牌等敏感数据,甚至植入恶意代码、完全接管服务器。
这不是理论风险。漏洞细节和 PoC 已公开传播,多国政府网站已临时下线避险,AI 辅助挖掘也让这类复杂内核漏洞的利用门槛大幅降低。
哪些 PHP 版本受影响
所有 PHP 5.4 及之后版本均存在风险,包括: - PHP 8.2:低于 8.2.35 - PHP 8.3:低于 8.3.36 - PHP 8.4:低于 8.4.27 - PHP 8.5:低于 8.5.12为什么必须立刻行动
- 漏洞存在于 PHP 运行时本身,与上层应用无关 - 攻击不依赖用户点击或管理员权限,纯服务端触发 - 主流托管环境(cPanel、Plesk、Apache mod_php、PHP-FPM)全部覆盖 - 腾讯云、PHP 官方等均已发布补丁并紧急提醒升级当前最有效的应对方式
- 立即升级到对应安全版本(如 PHP 8.3.36+) - 升级前完整备份网站与数据库 - 检查是否使用第三方 PHP 打包环境(如 XAMPP、WAMP),确认其已集成修复 - 若短期无法升级,可临时启用 WAF 规则拦截可疑 multipart POST 请求(如含 `PHP_SESSION_UPLOAD_PROGRESS` 或异常嵌套字段)不复杂但容易忽略:很多系统用的是操作系统包管理器安装的 PHP(如 Ubuntu 的 apt、CentOS 的 yum),这些渠道更新往往滞后。务必直接从 php.net 下载官方二进制或源码编译,或确认发行版已同步推送安全更新。



















