PHP发布紧急补丁修复两个高危RCE漏洞

PHP紧急修复两个CVSS 9.2高危RCE漏洞,攻击者可免认证执行代码。mod_php环境风险最高,官方已发布8.5.12等版本补丁,安全公司正监测活跃利用迹象。

PHP 发布紧急安全补丁,修复两个高危远程代码执行漏洞

PHP 官方于 10 月 21 日星期三下午 2 点发布了关键的安全更新。此前一天,这两个漏洞的细节已在 Hacker News 上泄露。修复内容包含在 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35 版本中。这两个错误均位于解释器内部,而非内容管理系统(CMS)层面。根据 CVSS 4.0 标准,CVE-2026-109618 和 CVE-2026-109619 的建议评分均为 9.2 级,确认攻击者可在未经认证的情况下,以 Web 工作进程的特权执行远程代码。

CVSS评分高达9.2级

内存溢出处理缺陷导致部分初始化状态被误用

第一个漏洞源于 PHP 对内存溢出(OOM)的处理机制。当发生 OOM 时,解释器使用 longjmp() 跳出当前上下文,此时请求内存可能仅处于部分初始化状态,但后续关闭程序会将此状态视为有效。攻击者可通过构造多部分请求强制触发 OOM,例如利用无限数量的每个部分的标题、不计入 max_file_upload 限制的空文件字段,或嵌套的字段名称,且这些操作均在 post_max_size 限制之下进行。该补丁将 longjmp() 替换为在下一次 VM 安全点触发的软 OOM,并在超过更高阈值时执行硬 _exit()。

全局状态残留引发跨请求内存引用问题

第二个漏洞涉及超越单个请求生命周期的全局状态管理。若致命错误在重置状态前取消操作,全局字段将继续指向已释放的堆内存。当同一工作进程的下一个请求在正常初始化之前读取该值时,便会引发问题。PHP 官方列出了两个已确认的攻击路径:一是 PHP 8.5 中的 Fatal_error_backtraces 设置;二是默认启用的会话上传进度功能,该功能无需应用程序调用 session_start() 即可生效。

mod_php 环境面临最高风险

在所有部署模式中,使用 Apache 的 mod_php 模块最为暴露。即使请求启动失败,mod_php 仍会调用请求关闭程序。只要 PHP 解析请求体时耗尽内存,无需运行任何应用程序代码即可触发漏洞。针对 mod_php 的完整代码执行验证已在使用默认内存和输入限制的环境下完成。相比之下,PHP-FPM 会在子进程启动失败时将其杀死,从而阻断直接攻击路径。对于第二个漏洞,PHP 确认普通 FPM 池也存在风险,但这取决于应用程序中是否存在合适的操作序列。源码分析显示,FrankenPHP 的行为类似于 mod_php,而 LSAPI 则是有条件的候选目标。CVSS 矢量中高攻击复杂性的评级反映出 PHP 构建方式和堆布局会影响漏洞利用的可靠性。

活跃利用迹象与 AI 在漏洞发现中的作用

安全公司 watchTowr 表示正在监测针对这两个漏洞的活跃利用尝试。Cloudflare 向 Hacker News 透露,在补丁正式发布前已观察到早期攻击行为。截至目前,尚未证实有成功的系统妥协案例。出于预防考虑,包括 DigiD 和 MijnOverheid 在内的荷兰政府服务暂时下线,英国国家网络安全中心(NCSC)也建议在无其他选择时采取相应措施。

Wiz Research 发现了这些错误并于 8 月 24 日上报。据 Wiz 介绍,Gemini 4 Argon 和 GPT-5.6 Sol 在漏洞发现、开发及补丁验证过程中发挥了作用,特别是能够针对每个目标调整漏洞利用方式。Wiz 还指出 OpenAI 和 Calif 在发现和协调方面提供了帮助。这一情况与 Anthropic 近期关于自复制人工智能针对廉价电视机的研究文章相呼应。

管理员应对指南

更新至最新版本是唯一彻底的解决方案。Linux 发行版和 LTS 供应商通常提前获得补丁,并可能保留旧版本号作为后端标识,因此建议检查变更日志中的 CVE ID 而非单纯依赖版本字符串。不支持的 PHP 7.4、8.0 和 8.1 分支仅获得最小化的源后端支持。若无法立即更新,PHP 建议在管理层设置 memory_limit=-1,因为可预测的每请求限制使得已确认的 OOM 漏洞依然有效。此外,应在 PHP 8.5 中添加 session.upload_progress.enabled=0 和 fatal_error_backtraces=0,然后重启每个工作进程。如果应用程序不使用多部分表单,请在前端阻止此类请求。需注意,上述临时设置均非完整解决方案。在共享托管环境或使用 Web 服务器的 NAS 设备上,用户应检查服务提供商提供的具体 PHP 版本。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读