AI安全

PHP发布紧急补丁,修复AI辅助研究揭示的PHP2Shell严重漏洞

PHP修复两项严重内存安全漏洞,Calif、OpenAI与Wiz参与调查;厂商已观察攻击尝试,不同部署的触发条件存在差异。

发布于 更新于
PHP2ShellPHPAI辅助研究远程代码执行安全更新内存安全

PHP于10月21日发布紧急安全更新,修复统称为PHP2Shell的两项严重漏洞,相关调查涉及Calif、OpenAI和Wiz。修复版本为PHP 8.5.12、8.4.27、8.3.36和8.2.35。CVE-2026-109618与CVE-2026-109619的CVSS 4.0评分均为9.2。在满足前提时,攻击者可无需身份验证执行代码;研究人员还展示了敏感进程内存泄露。

两份公告均将这四个分支中更早的版本列为受影响范围。研究人员把相关代码追溯至PHP 5.4,意味着问题位于跨越多代应用的运行时。PHP警告涵盖Apache mod_php、PHP-FPM、php-cgi、FrankenPHP和LiteSpeed等Web部署。即使应用自身代码安全,底层运行时仍可能使其暴露风险,但攻击路径取决于部署方式及请求生命周期。

CVE-2026-109618涉及内存不足时的处理。PHP此前使用非局部跳转来放弃当前的处理流程,因此可能在一次操作中的内部请求数据仍未完成初始化时,就提前中断该操作。随后的请求清理流程可能把这些尚未完成设置的数据当作有效数据读取,由此造成内存损坏。这属于错误处理与初始化缺陷。补丁以安全执行点上的受控响应取代突兀退出,并在达到更高内存阈值时立即终止进程。

CVE-2026-109619涉及存活时间超出所属请求的内部状态。致命错误或某些关闭阶段的诊断信息,可能让常驻工作进程保留指向已释放内存的引用。同一进程处理后续请求时,可能在常规初始化清除旧值前使用它。公告确认了PHP 8.5致命错误回溯及会话上传进度相关实例。利用需要既有留下状态的操作,也有之后消费该状态的操作。

Apache mod_php被评为风险最高:已展示的攻击可在任何应用代码执行前进入漏洞处理路径。PHP-FPM会在请求启动失败时退出工作进程,阻断这一特定序列。不过,残留状态公告确认了FPM启动成功后依赖应用操作的路径:被中断的操作为后续请求留下状态。严重性指标同时列明攻击复杂度高、存在额外执行条件,以及无需权限或用户交互。

OpenAI表示,Calif通过Patch the Planet计划使用GPT-5.6 Sol发现一项严重缺陷。PHP基金会记录,Calif研究人员Ryan A于8月11日报告问题,OpenAI同日独立报告了相同根因。Calif的复盘强调,研究者对PHP漏洞历史的了解帮助引导调查;初始发现并不依赖未公开模型或专用测试框架。

Wiz独立调查并报告漏洞,于8月24日提交发现。团队使用Wiz Atlas、Gemini 4 Argon和GPT-5.6 Sol,并认为Argon在发现、检测及补丁验证方面贡献显著。Wiz在WordPress、Drupal和Joomla的测试部署中展示攻击,也单独展示了内存泄露。其过程包含针对不同内存布局反复测试和适配,而非一份利用程序自动适用于所有PHP安装。

PHP维护者主导修复与发布。基金会表示,在处理由OSTIF组织、Quarkslab于2024年实施的审计发现时,团队已看到内存耗尽问题的征兆。兼容性、性能及扩展相关取舍延缓了解决。OpenAI提供研究支持并协调基础设施厂商,基金会资助工程师修补。新报告为一个早期利用可能性尚未被证实的问题,建立了实际影响依据。

CVE编号于10月20日开始流传后,披露被提前。基金会将协调发布时间从10月22日14:00 UTC改为10月21日14:00 UTC,并表示发行商仍需要完成打包的时间。Calif随后误发演示视频,披露了有限的额外信息,之后将其删除。补丁和技术公告现已公开。

Cloudflare表示,10月21日03:02 UTC已向启用免费或付费WAF的客户默认提供防护,并观察到攻击流量及改变载荷的尝试。另一方面,基金会称,截至披露时,它检查的流传中概念验证程序没有可运行的利用。这些观察无法确定已被攻陷服务器的数量。Cloudflare仍要求修补PHP;PHP也明确,配置调整和过滤只能提供局部防护。

发行版及长期支持厂商提前获得补丁,可能通过回补软件包交付。PHP 8.1及更早版本仍不在上游常规安全支持范围内,但项目鉴于严重性,为7.4、8.0和8.1提供了最小源码回补。这些例外源码补丁并不让旧分支恢复支持。对于托管应用,修复因此取决于运营方提供的PHP运行时,仅更新内容管理系统并不足以替代它。