PHP2Shell 高危漏洞预警:CVE-2026-109618 与 CVE-2026-109619 漏洞分析及紧急修复指南
PHP2Shell 高危漏洞预警:PHP 核心两个未授权 RCE 影响全系列版本,请立即处置
2026 年 10 月 21 日,PHP 核心曝出两枚严重的远程代码执行零日漏洞,代号 PHP2Shell,追踪编号为 CVE-2026-109618 与 CVE-2026-109619。这两起漏洞影响 PHP 5 及之后的所有主版本(PHP 5.x、7.x、8.x 全系),CVSS v4.0 评分高达 9.2,属于最高危级别。
漏洞根植于 PHP 解释器底层核心,攻击者无需任何身份验证,即可在运行 WordPress、Laravel、Drupal、Magento、MediaWiki 等主流 CMS 与框架的服务器上直接执行任意代码并获取系统 Shell。波及面覆盖整个 Web 生态。
漏洞现状与官方响应
PHP 官方安全团队已将紧急安全更新提前至 UTC 时间 10 月 21 日 14:00(北京时间 22:00)发布。根据维护政策,官方补丁仅面向 PHP 8.2 至 8.5 分支发放,具体修复版本为:
- PHP 8.2.35
- PHP 8.3.36
- PHP 8.4.27
- PHP 8.5.12
对于已结束官方支持的 PHP 8.1 及更早版本,只能依赖 Linux 发行版回移补丁,或直接升级到受支持的大版本。
据 CyberQ 统计,全球公开暴露版本信息的约 150 万台 PHP 主机中,约 59%(逾 88.4 万台) 仍运行 PHP 8.1 及更早版本,风险敞口巨大。
目前 watchTowr 确认尚未发现在野攻击,但安全研究人员普遍预计,补丁公开后 15 分钟内,黑客即可反推漏洞细节并部署大规模自动化攻击程序。补丁发布前暂无完全有效的临时缓解措施。
紧急处置建议
1. 优先躲到 Cloudflare 背后(最快见效)
Cloudflare 已于 UTC 时间 10 月 21 日凌晨 3:02(北京时间 11:02)起,为所有 WAF 用户(包括免费版)默认启用针对 PHP2Shell 两个高危漏洞的防护规则。将站点接入 Cloudflare 可快速降低暴露面,为后续补救争取时间。
2. 无法立即升级时的紧急配置缓解
以下配置必须在全局生效(php.ini 或 FPM Pool),不能使用 ini_set 或 .user.ini。
针对 CVE-2026-109618(内存超限漏洞):
- 使用
php_admin_value强制设置memory_limit = -1,防止代码覆盖并避免触发 PHP 内部内存限制。 - 调低请求大小限制:无文件上传场景设
post_max_size = 8M,有上传场景设32M。 - 在前置 Nginx/WAF 层面限制请求头数量、字段数与嵌套深度。
- 切勿使用系统的
RLIMIT_AS或RLIMIT_DATA。
针对 CVE-2026-109619(状态残留漏洞):
- 在 php.ini 中设置
session.upload_progress.enabled = 0,并重启所有 Worker 进程。 - 清理会导致初始化前报警告的废弃配置,修复外部可触发的 Fatal Error 与超时错误。
3. 最终解决方案:升级到修复版本
临时缓解只能争取时间。要彻底消除风险,必须尽快升级到受支持的修复版本(PHP 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12)。对于仍运行 PHP 8.1 及更早版本的主机,建议制定升级计划,尽快完成大版本迁移。
运维行动清单
- 立即盘点公网 PHP 资产,确认当前运行版本。
- 优先将站点接入 Cloudflare(或同类具备规则的 WAF)。
- 按上述建议调整 php.ini / FPM 配置并重启服务。
- 尽快升级到官方修复版本。
- 严密监控 Web 服务进程是否异常派生 Shell 子进程。
风险窗口已经打开。 补丁一旦公开,自动化扫描与攻击将迅速跟进。请各企业与运维团队立即行动,不要抱有侥幸心理。
安全无小事,升级宜早不宜迟。