PHP2Shell 漏洞:AI 在 PHP 里挖出两个严重 RCE 漏洞
PHP2Shell 漏洞是 PHP 引擎中的两个严重 RCE 漏洞,由 Gemini 4 Argon 和 GPT-5.6 Sol 协助发现。谁受影响、如何修复?
本文的其他语言版本:العربيةDeutschEnglishEspañolFrançaisItaliano日本語Polski
10 月 21 日,PHP 团队发布了 8.5.12、8.4.27、8.3.36 和 8.2.35 版本,修复了两个无需登录即可远程执行代码的严重漏洞:CVE-2026-109618 和 CVE-2026-109619。同一天,Wiz Research 以 PHP2Shell 漏洞之名公开了细节,并透露 Gemini 4 Argon 和 GPT-5.6 Sol 两个模型在发现漏洞和编写利用代码时出了力。
PHP2Shell 漏洞是什么?
PHP2Shell 是 PHP 引擎本身的两个漏洞,而不是某个具体应用的漏洞。两者的评分都是 CVSS 9.2。根据 php.net 的公告:
- CVE-2026-109618 与内存耗尽(OOM)的处理有关。当请求的内部数据只完成了部分初始化时,这个错误可能让 PHP 中断,而请求结束后的清理流程却把这些数据当作有效数据处理。
- CVE-2026-109619 是所谓的“过期全局状态”:请求的内部状态可能在内存释放后依然存活,同一进程处理的下一个请求可能会用到它。
所有处理 Web 流量的 PHP 部署都在风险之中:PHP-FPM、带 mod_php 的 Apache、php-cgi、FrankenPHP 和 LiteSpeed。最糟的是 mod_php,研究人员在那里演示了一个利用方式:一个未登录的请求就能在任何应用代码执行之前发起攻击。
据 Wiz 介绍,这段有漏洞的代码在 PHP 里已经存在了十多年,影响范围最早可追溯到 PHP 5.4。研究人员在 WordPress、Drupal 和 Joomla 的最新 Docker 镜像上都演示了远程代码执行。
AI 在发现 PHP2Shell 中起了什么作用?
Wiz 表示,整个研究过程中主要使用的是自家工具 Wiz Atlas,以及 Gemini 4 Argon 和 GPT-5.6 Sol 两个模型,其中 Gemini 4 Argon 帮助找到漏洞、编写利用代码、检测攻击并验证修复。Wiz 文章给出的时间线如下:
- 2026 年 8 月 19 日:Wiz 发现第一个漏洞。
- 8 月 20 日:在 Drupal 上确认远程代码执行。
- 8 月 21 日:在 WordPress 上同样确认。
也就是说,从发现漏洞到对 WordPress 的有效攻击,只用了两天。Wiz 解释说,这些漏洞早已存在,要证明它们能被利用,需要一条非常复杂的步骤链,而 AI 模型“substantially reduced that barrier, turning a longstanding flaw into an exploit”。Google DeepMind 的 Gemini 安全负责人 Raluca Ada Popa 评论说,Wiz 展示了“why frontier AI is a game-changer for cyber defense”。
参与的也不只有 Google。据 heise 报道,最先发现的是 Calif 团队,他们当时在 OpenAI 的“Patch the Planet”计划下与 PHP Ecosystem Security Team 一起做代码审计。Wiz 和 OpenAI 借助 LLM 复现了漏洞,并协助审查了修复补丁。
为什么这件事这么受关注?
第一,规模。WordPress、Drupal 和 Joomla 都跑在 PHP 上,而且漏洞在应用代码之前就会触发。php.announce 邮件列表上的补丁预告在细节公布之前,就在 Hacker News 上拿到了 1300 多分。
第二,泄露。据 heise 报道,原定 10 月 22 日公开,但由于信息泄露而提前了一天。SecurityWeek 称,watchTowr 在补丁发布之前就复现了 CVE-2026-109618,而 Sansec 预计大规模攻击会在“within 15 minutes of the patch release”开始。目前 watchTowr 和 Huntress 还没有在真实攻击中看到漏洞被利用。
第三,趋势。就像美国银行的 Claude Mythos 一样,AI 模型发现严重漏洞的速度,已经超过了人修补的速度。只不过同样的工具攻击者也有,借助 Cairn 平台发起的 AI 网络攻击就是很好的例子。
用 PHP 的话该怎么做?
- 升级 PHP 到 8.5.12、8.4.27、8.3.36 或 8.2.35。据 php.net 和 Wiz,这是唯一完整的防护。
- 据 heise 报道,较老的 7.4、8.0 和 8.1 分支会获得向后移植的修复,各 Linux 发行版预计会在几小时内发布软件包。
- 用 Docker 的话,需要拉取新镜像并重启容器。
- 也要检查带 PHP Web 管理界面的设备:NAS、路由器、各类一体机(heise 提到了 pfSense、QNAP 和 Synology 等)。
- 在升级之前,Cloudflare、Akamai 或 AWS 的 WAF 规则能起到一定作用,但 PHP 团队把配置层面的变通办法称为“a temporary crutch”。
(如果用的是共享主机,问问服务商什么时候安装补丁)
FAQ
PHP2Shell 漏洞影响 WordPress 吗?
影响。Wiz 在最新的 wordpress:latest 镜像上演示了远程代码执行,在 Drupal 和 Joomla 上也一样。漏洞在 PHP 里,所以要升级的是 PHP,而不是 WordPress。
哪些 PHP 版本是安全的?
2026 年 10 月 21 日发布的 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35 及更高版本。更早的版本都应视为存在漏洞。
漏洞已经被利用了吗?
据 SecurityWeek 报道,watchTowr 和 Huntress 尚未看到真实攻击,但细节在公开前就已泄露,Sansec 预计补丁发布后会立即出现大规模攻击。
PHP2Shell 是谁发现的?
据 heise 报道,最先发现的是参与 OpenAI“Patch the Planet”计划的 Calif 团队。Wiz Research 以 PHP2Shell 之名公开了这些漏洞,并借助 Gemini 4 Argon 和 GPT-5.6 Sol 发现了它们。