news 2026/10/24 5:38:28

PHP曝出两个严重RCE漏洞:CVE-2026-109618、CVE-2026-109619技术分析与修复指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PHP曝出两个严重RCE漏洞:CVE-2026-109618、CVE-2026-109619技术分析与修复指南

【文章简介】

本文围绕 PHP 两个高危远程代码执行(RCE)漏洞展开,分析漏洞成因、影响范围、风险场景及修复方案,并结合实际运维场景介绍环境排查与修复验证方法。

【适用读者】

  • 网络安全从业者、安全运维及渗透测试人员
  • PHP 开发人员、后端工程师
  • 负责服务器运维、漏洞管理及安全应急的技术人员

【阅读收获】

读完本文,你将了解两个漏洞的核心原理,掌握 PHP 运行环境的排查思路,以及高危漏洞从风险确认到修复验证的基本流程。

一、漏洞背景

2026年10月21日,PHP官方发布安全公告,披露并修复了两个可能导致远程代码执行(RCE)的严重安全漏洞。两个漏洞的CVSS v4.0评分均为9.2,部分攻击路径无需身份认证。

本次漏洞涉及PHP运行时内部的内存管理和请求状态处理机制。由于PHP广泛应用于网站、业务后台及API服务,一旦相关运行环境受到影响,风险可能不局限于单个应用程序。

本文将从漏洞原理、影响范围、排查方法和修复方案几个方面进行分析。

1. 漏洞基本信息

项目CVE-2026-109618CVE-2026-109619
漏洞名称RCE via OOM corruptionRCE via stale global state
核心问题内存耗尽异常导致内部状态不一致过期全局状态导致释放后使用
主要风险远程代码执行远程代码执行
CVSS v4.09.29.2
修复方式升级PHP升级PHP

官方公告:

  • PHP官方安全公告
  • CVE-2026-109618技术公告
  • CVE-2026-109619技术公告

二、漏洞原理分析

理解这两个漏洞,需要先了解PHP处理Web请求时的基本流程。

一个典型的PHP请求会经历以下阶段:

  1. Web服务器接收HTTP请求。
  2. PHP运行时初始化请求上下文及内部数据。
  3. PHP解析请求并执行应用程序代码。
  4. 请求结束后,清理请求期间创建的状态和资源。
  5. 工作进程根据运行模式继续处理后续请求。

如果初始化、异常处理或资源释放过程中出现状态不一致,就可能导致程序访问无效内存,进一步引发安全问题。

2.1 CVE-2026-109618:OOM异常处理导致的远程代码执行

OOM是Out of Memory的缩写,表示程序申请内存时无法获得所需资源。

PHP在处理内存分配失败时,会通过异常中断机制退出当前执行上下文。在特定执行路径下,如果请求内部数据尚未完成初始化,异常中断就可能使运行时进入不一致状态。

随后,请求结束时的清理逻辑可能将这些无效数据当作正常数据处理,导致内存安全问题,并可能最终形成远程代码执行。

可以将其简化为以下流程:

Web请求进入PHP运行时 | v 初始化请求内部数据 | v 发生内存分配失败(OOM) | v 当前执行流程被中断 | v 请求内部状态未完成初始化 | v 清理逻辑访问异常状态 | v 可能引发内存破坏及远程代码执行

这只是对漏洞机制的概念性说明,并非实际利用代码。

根据PHP官方公告,攻击者可以利用特定的请求处理路径触发相关问题。尤其值得注意的是,某些multipart请求可能绕过预期的请求体大小限制,使程序在请求处理过程中进入异常状态。

这说明,单纯依赖PHP自身的内存限制,并不能保证所有内存分配失败路径都得到安全处理。

2.2 CVE-2026-109619:过期全局状态与Use-After-Free

第二个漏洞涉及PHP工作进程中的内部状态管理。

PHP运行时维护着错误处理、会话、对象和扩展等多种状态。其中一部分状态与当前请求所使用的内存有关,因此必须在释放请求内存前正确重置。

如果请求结束时没有完成必要的状态清理,相关引用就可能指向已经释放的内存区域。

这类问题被称为Use-After-Free,简称UAF,即释放后使用。

漏洞形成过程可以简化为:

工作进程处理请求A | v 创建请求相关的内部状态 | v 异常处理或清理流程未完成状态重置 | v 请求内存被释放 | v 部分内部状态仍然残留 | v 工作进程处理请求B | v 初始化完成前访问过期状态 | v 可能产生内存安全问题及远程代码执行

这里的关键在于:请求内存的生命周期已经结束,但某些内部状态仍然保留着指向该内存的引用。

当后续处理逻辑访问这些引用时,就可能触发UAF问题。

PHP官方公告指出,致命错误、内存耗尽、警告信息以及部分会话处理路径,都可能与状态未正确重置有关。

需要注意,工作进程复用不意味着不同用户的业务数据必然互相可见。这里讨论的是PHP运行时内部状态的生命周期问题。

2.3 两个漏洞的区别

这两个漏洞的共同点是PHP运行时内部状态管理存在缺陷,但问题的切入点不同。

  • CVE-2026-109618: 重点在于内存耗尽异常导致初始化过程被中断,后续清理逻辑可能处理无效状态。
  • CVE-2026-109619: 重点在于请求结束后,某些内部状态未被正确重置,后续操作可能访问已释放的内存。

它们反映出一个重要的底层安全原则:

异常处理流程必须与正常执行流程一样,严格维护内存有效性、对象生命周期和内部状态的一致性。

三、影响范围与风险分析

PHP官方明确指出,所有用于处理Web请求的PHP安装都需要关注本次漏洞,包括PHP-FPM、Apache mod_php、php-cgi、FrankenPHP和LiteSpeed等部署方式。官方认为Apache mod_php的风险尤其高,因为已确认存在无需认证、可在应用程序代码执行前触发攻击的路径。

重点排查以下场景:

  • 使用PHP构建的互联网网站及业务后台。
  • 通过Nginx或Apache配合PHP-FPM运行的业务系统。
  • 使用Apache mod_php的旧系统。
  • 使用php-cgi等方式运行的应用。
  • 基于容器部署、但仍使用受影响PHP版本的业务。

需要强调:使用PHP不代表系统已经被入侵,是否存在可利用风险还取决于实际版本、运行模式和触发条件。

四、如何排查PHP环境是否受影响?

4.1 查看PHP版本

在Linux服务器执行:

php -v

查看当前命令行PHP版本。

也可以执行:

php --ini

查看当前命令行环境使用的配置文件。

需要注意:命令行PHP与Web服务实际使用的PHP可能不是同一套安装,因此这两条命令只能作为初步检查。

4.2 排查Web服务实际运行版本

对于Nginx与PHP-FPM组合,需要进一步确认:

  • Nginx配置中的fastcgi_pass指向哪里。
  • PHP-FPM实际使用的可执行文件路径。
  • PHP-FPM进程加载的版本及配置。
  • 是否存在多套PHP安装或多个容器实例。

对于Apache环境,应确认PHP使用的是mod_php、CGI还是其他运行方式。

容器化部署还需要检查实际运行的容器和镜像内容,而不能仅根据镜像名称判断安全状态。

4.3 核对操作系统软件包

部分Linux发行版可能通过回移补丁修复漏洞,软件包版本号不一定与PHP上游版本完全一致。

因此,除检查PHP版本外,还应核对对应操作系统的安全公告及软件包修复状态,避免误判。

五、如何修复漏洞?

5.1 官方修复版本

PHP官方公布的修复版本如下。

PHP分支修复版本
PHP 8.58.5.12
PHP 8.48.4.27
PHP 8.38.3.36
PHP 8.28.2.35

建议优先升级至对应分支的官方修复版本,并在升级前完成兼容性测试、数据备份和变更评估。

对于无法立即升级的生产系统,应根据官方公告实施临时风险控制措施。但官方明确指出,这些措施无法完全替代升级。

5.2 暂时无法升级时的风险控制

针对CV​​E-2026-109618,可以评估以下措施:

  • 合理限制请求体大小、multipart字段数量及嵌套深度。
  • 在Web服务器或代理层实施请求大小限制。
  • 根据官方建议评估PHP内存限制的配置方式。
  • 通过容器或cgroup等机制限制单个工作进程异常对系统可用性的影响。

官方建议在适用环境中设置memory_limit=-1,以避免通过可控的PHP内存限制触发特定攻击路径。但这会取消PHP自身的内存上限,可能增加资源耗尽风险,必须结合系统级资源限制谨慎评估,不能直接在生产环境盲目使用。

针对CVE-2026-109619,可以评估关闭会话上传进度功能:

session.upload_progress.enabled=0

PHP 8.5还可以根据官方建议评估:

fatal_error_backtraces=0

这些配置只针对已确认的部分攻击路径,不代表漏洞已经彻底修复。具体生效方式、配置位置和工作进程重启要求,应以官方公告为准。

如果无法及时修复且系统直接暴露于互联网,应考虑临时限制访问,必要时暂停受影响的服务。

六、修复后如何验证?

漏洞处置不能止步于执行升级命令,还需要确认修复是否真正生效。

检查项验证内容
PHP版本命令行与Web实际运行版本均已核实
软件包状态已安装官方或发行版提供的修复版本
工作进程已重新加载或重启,确保新版本生效
资产覆盖所有PHP实例均已纳入排查
业务验证核心功能及相关扩展运行正常
安全监测检查异常请求、进程、文件变化及其他可疑迹象

对于已经暴露在互联网的系统,还应检查历史访问日志和系统状态。修复完成只能说明软件漏洞处置取得进展,并不能证明此前没有发生入侵。

七、技术启示

本次PHP漏洞事件至少带来三个值得重视的经验。

第一,安全风险不只存在于业务代码中。

即使应用层具有身份认证、权限控制和输入校验,底层运行时仍可能存在独立的安全缺陷。因此,安全评估应覆盖应用代码、运行时、依赖组件和基础设施。

第二,资产清单直接影响漏洞响应速度。

企业应能够快速识别哪些服务器、容器和业务系统正在使用PHP,哪些直接暴露在互联网,以及哪些系统无法立即升级。

如果资产信息不完整,漏洞应急就可能陷入逐台寻找、逐个确认的被动局面。

第三,修复必须形成可验证的闭环。

漏洞治理应包括发现、确认、修复、验证和复查。每一项处置都应有明确结果和记录,而不是只在工单中填写“已升级”。

八、总结

CVE-2026-109618和CVE-2026-109619是PHP运行时层面的两个严重安全漏洞,分别涉及OOM异常处理和过期内部状态访问问题,均可能导致远程代码执行。

对于开发和安全运维人员,建议优先完成以下工作:

  1. 盘点所有PHP运行环境,重点关注互联网暴露资产。
  2. 核实实际运行版本及部署方式。
  3. 尽快安装官方或对应发行版提供的修复版本。
  4. 对暂时无法升级的系统实施经评估的临时风险控制措施。
  5. 通过版本、进程、资产清单和日志检查形成修复闭环。

安全工作的重点不仅是发现漏洞,更是确保受影响资产被完整识别、风险得到及时处理,并且修复结果能够被验证。

参考资料

  1. PHP官方安全公告(2026年10月21日)
  2. CVE-2026-109618:RCE via OOM corruption
  3. CVE-2026-109619:RCE via stale global state
  4. PHP官方版本发布记录

本文用于网络安全技术交流与防御性排查。具体影响范围、临时缓解措施和修复状态,请以PHP官方公告及对应操作系统发行版的安全公告为准。

📌推荐阅读

AI编程时代的两大隐忧:代码失控与技术生态趋同
大模型套壳滥用与AI智能体带来的新型安全风险及企业防护思考
复合型社会工程威胁分析:社交诱饵引发的多终端数据窃取风险与防御实践
2026网络安全管理者能力模型升级:告别技术堆砌,走向战略与业务韧性治理
自主AI Agent全自动化入侵|从Hugging Face安全事件看AI攻击与传统防护失效危机
AI安全攻防重心全面迁移:从提示词防护走向智能体自主操作风险治理
Claude Code后门隐患深度拆解与AI供应链安全治理方案
CVE-2026-0007 Android界面覆盖劫持提权漏洞深度解析与全维度防护方案

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/24 5:37:35

07.3DX Canvas 接棒3D | Cadence 26.1新功能抢先看

在 Cadence 26.1 新版本中,原有的 3D Canvas 已经移除,全面由 3DX Canvas 替代。未来所有 3D 新功能都会在这个平台上迭代,查看器也同步支持 3DX 画布。这次升级涵盖了引擎换代、多板整机可视化、刚挠板折弯流程简化以及 SCF 文件原生支持&am…

作者头像 李华
网站建设 2026/10/24 5:37:26

uniapp+H5性能优化实战:慢速网络下的解决方案

1. 慢速环境下的uniappH5性能痛点剖析在移动互联网渗透率超过70%的今天,H5应用的性能表现直接影响用户留存。根据Google调研数据,页面加载时间每增加1秒,移动端跳出率就上升20%。而uniapp框架开发的H5应用在慢速网络环境下(如3G网…

作者头像 李华
网站建设 2026/10/24 5:35:59

AI应用的记忆生意:情感陪伴靠「记得你」留住用户,也栽在删不掉上

2026 年 10 月 15 日,一个倒计时走到了头。字节跳动豆包和阿里通义千问给用户预留的三个月缓冲期,在这一天到期,自建拟人化智能体的历史对话数据被彻底清除。三个月前的 7 月 15 日,《人工智能拟人化互动服务管理暂行办法》正式施…

作者头像 李华
网站建设 2026/10/24 5:34:05

VS Code Agents:三栏挤成夹缝?教你一键折叠侧边栏,代码区直接拉满

不知道你有没有用过VS Code Agents的网格布局,一打开就是经典三分屏:左边AI会话聊天框、中间代码编辑器、右边文件树辅助栏。屏幕本来就不大,三块区域一分,代码阅读区直接被挤成一条窄缝。就像我这张截图,让Agent生成一…

作者头像 李华
网站建设 2026/10/24 5:33:01

非标设备改型改到怀疑人生?这几类工具值得了解

慧德敏学 SolidKits SOLIDWORKS定制开发 在选择 SOLIDWORKS 插件和 SOLIDWORKS定制开发 服务商时,企业常遇到一个两难:通用型插件买回来功能很多,但真正用在自己流程上的没几个;找团队从零定制,又担心周期长、成本高、…

作者头像 李华
网站建设 2026/10/24 5:32:24

A.每日一题:2089. 找出数组排序后的目标下标

题目链接:2089. 找出数组排序后的目标下标(简单) 算法原理: 解法一:二分查找 6ms击败14.34% 时间复杂度O(n logn) 这是典型的 “最左端点模型”,可以通过最左端点模型找到等于 target 的第一个点&#xff0…

作者头像 李华