安全研究机构 Wiz Research 近日披露了 PHP 核心引擎中的多个关键内存安全漏洞。这些漏洞允许未经认证的攻击者在受影响的服务器上远程执行代码(RCE)或读取敏感进程内存。由于 PHP 是支撑 WordPress、Joomla、Drupal 以及维基百科 MediaWiki 等主流应用的基础语言,此次漏洞的影响范围极为广泛。

Wiz 团队指出,这是近年来在 PHP 中发现的最严重漏洞之一,甚至可能是软件历史上最严重的案例之一。尽管底层缺陷已存在数十年,但将其转化为可利用的漏洞需要极其复杂的步骤,超出了传统人类研究人员的常规能力边界。然而,借助先进的人工智能模型,这一障碍被大幅降低,使得长期存在的潜在风险变为现实威胁。
漏洞详情与影响范围
本次披露涉及两个 CVE 编号:CVE-2026-109618 和 CVE-2026-109619,严重程度均达到 CVSS 9.2。几乎所有过去十年发布的 PHP 版本都受到至少一个漏洞的影响,包括可追溯至 PHP 5.4 的版本。
- 攻击后果:攻击者可控制服务器、窃取敏感数据(如密码、认证令牌、API 密钥和证书),并破坏网站运行。
- 修复时间:PHP 官方已于 2026 年 10 月 21 日发布补丁,修复了核心引擎中的多个内存安全问题。
- 受影响生态:即使应用程序自身代码安全,只要运行在易受攻击的 PHP 版本上,整个生态系统都可能面临风险。
Wiz 研究人员表示,这些漏洞源于关键的架构决策,部分决策早在十多年前就已做出。虽然博客仅涵盖了四个主要可被利用的漏洞变体,但 PHP 团队的补丁解决了问题的核心,消除了所有已知变体。
技术原理:内存状态污染与跨请求利用
所有披露的漏洞均为内存安全问题,根源在于 PHP 在处理致命错误(特别是内存耗尽错误)时的逻辑缺陷。当请求意外结束时,PHP 内部状态可能处于损坏或未清理状态。后续请求或工作进程若复用该陈旧状态,将导致内存泄露或损坏。
以下是具体漏洞机制的技术分析:
1. 上传进度解析器使用-after-free (CVE-2026-109618)
在初始化前的窗口期,PHP 会话模块可能在处理上传进度时解码会话数据。若发生致命的分配失败,请求堆栈可能被破坏,且未解析的全局状态会被发布。在同一工作进程处理的后续请求中,PHP 可能误用攻击者恢复的内存作为实时的非解析器记账数据。这种陈旧状态成为强大的内存腐败原语,最终导致未经认证的 RCE。
2. 远程进程内存披露
PHP 在请求启动时解析 RFC1867 多部分请求。会话上传进度处理可在早期阶段初始化会话状态并在 PS(id) 中发布会话 ID。若在清理完成前发生内存缺失错误,请求堆栈被销毁,PS(id) 可能指向已释放的分配。后续的多部分请求到达上传进度清理路径时,PHP 会将陈旧的指针视为有效的 zend_string,并将恢复的堆内容编码为 PHPSESSID 响应 cookie。此攻击无需调用 session_start(),具有应用无关性,可泄露活跃工作进程的内存区域。
3. 致命错误回溯使用后-free (CVE-2026-109619)
受影响版本中,PHP 保留最近一次致命错误的回溯记录于 EG(last_fatal_error_backtrace)。若致命 OOM 错误在不定义执行器全局值的情况下摧毁请求堆栈,工作进程存活后仍指向之前请求的内存。若同一工作进程在下一个请求早期发出诊断,它可能在执行器重新初始化状态前访问该指针。由此产生的交叉请求 use-after-free 可导致受控的内存损坏,进而实现针对 Drupal 的未经认证 RCE。
4. OPcache 类型混淆
OPcache 在共享内存中保留编译结构,并通过索引协调每个工作进程的运行时间指针图。在 zend_accel_script_persist() 过程中,PHP 推进进程本地 CG(map_ptr_last) 边界,仅在持续完成后才公布共享边界。若在此间隙发生分配失败,将留下进程本地提前位置和部分持久对象,指向共享状态认为可用的时段。当另一工作进程重用插槽时,陈旧元数据被解析为错误类型的指针,导致跨工作进程的类型混淆,破坏共享 OPcache 状态,从而构建针对 WordPress 的 RCE 链。
AI 在漏洞挖掘中的作用
Wiz 强调,人工智能不再仅仅是辅助工具,而是改变了漏洞发现和利用的经济学。开发这些漏洞需要连锁多个错误,并适应不同 PHP 版本、配置和内存布局的复杂性。在 AI 介入之前,手工调整漏洞以适配不同部署极其困难且难以扩展。
通过结合测试和调试工具,大型语言模型(LLM)能够分析故障并自动调整利用代码,显著减少了针对每个目标所需的专家努力。Wiz 团队在研究中使用了 Wiz Atlas、Gemini 4 Argon 和 GPT-5.6 Sol。其中,Gemini 4 Argon 在发现漏洞、开发利用代码、检测攻击以及验证补丁方面做出了关键贡献。
“通过使用 Gemini 4 Argon,Wiz 团队展示了前沿人工智能为何是网络防御的改变者。十多年来,这些关键漏洞未被解决是因为其发现和利用的极端复杂性。我们很高兴看到 AI 帮助防守者弥合这一差距,找到并修补漏洞。”
披露时间线与合作
这是一项跨行业的协调努力,旨在保护客户、寻找变种、部署检测措施并及时验证补丁。参与合作的公司包括 PHP 团队、Calif、OpenAI,以及 Automattic、Akamai、AWS、Cloudflare、Fastly、Google、Imperva、Microsoft、Vercel 等基础设施提供商。
- 2026 年 8 月 19 日:Wiz Research 利用 AI 工具发现首个 PHP 漏洞。
- 2026 年 8 月 20 日:确认针对 Drupal 的未经认证 RCE。
- 2026 年 8 月 21 日:确认针对 WordPress 的未经认证 RCE。
- 2026 年 8 月 24 日:向 PHP 安全团队报告漏洞。
- 2026 年 9 月 21 日:PHP 确认报告并开始开发协调修复方案。
- 2026 年 10 月 21 日:发布修补后的 PHP 版本。
- 2026 年 10 月 21 日:公开披露漏洞细节。
缓解建议与检测
鉴于漏洞存在于 PHP 核心引擎层面,简单的“Hello World”应用程序也可能易受攻击。强烈建议立即应用 PHP 安全更新,这是唯一完整的补救措施。
在系统完全打补丁之前,维护者应监控以下异常信号,它们可能指示攻击尝试:
- 不寻常的多部分请求,随后出现内存限制错误或重复的 HTTP 500 响应。
- 意外巨大或错误的 PHPSESSID 响应 cookie。
- 无法解释的 PHP 工作进程流失。
对于使用 Wiz 平台的客户,可通过 Wiz Threat Intel 中心获取咨询,并利用内置的无代理和运行时漏洞检测功能。启用最新版本传感器(1.0.12768+)的客户还可配置自动响应策略,终止表现出 PHP2Shell 典型剥削行为的进程。
Wiz Research 团队由 Sagi Tzadik、Shir Tamari、Nir Ohfeld 和 Tomer Schwartz 组成,致力于发现云软件中的新攻击向量及隔离问题。





