全天候7x24小时服务: 13023429968

首页

产品服务

融合安全

安全产品

安全服务

安全平台

数据产品

行业应用

安全市场

解决方案

技术支持

关于我们

主页 > 技术支持 > 网信动态 > 安全公告

PHP2Shell 高危漏洞应急指南

发布时间:2026-10-25 00:29浏览次数:来源于:网络

漏洞编号:CVE-2026-109618 / CVE-2026-109619/CVE-2026-115560
CVSS v4.0:9.2(严重)
披露时间:2026年10月21日 14:00 UTC
利用状态:补丁发布后 19 分钟内即出现野外利用尝试,已确认为活跃利用
影响范围:PHP 8.2.x < 8.2.35、8.3.x < 8.3.36、8.4.x < 8.4.27、8.5.x < 8.5.12

发布单位:快页信息技术有限公司AIMSS安全运营中心

一、漏洞概述

PHP2Shell 是 PHP 解释器层面的两个关键内存破坏漏洞,与应用程序代码无关——即使应用本身编写完全规范,只要运行在受影响版本的 PHP 上即存在风险。攻击者无需认证即可通过构造的 HTTP 请求在 Web 服务器权限下执行任意代码。

CVE-2026-109618:内存耗尽状态损坏

在内存不足(OOM)场景下,PHP 的内存管理逻辑可能在请求数据尚未完整时终止处理,导致请求关闭阶段对无效数据进行后续处理。攻击者可通过发送消耗大量内存的 Multipart 请求触发该条件,在 Apache mod_php 环境下已确认可利用。

CVE-2026-109619:释放后使用 / 残留全局状态

PHP 的全局状态在内存释放后仍引用前一个请求的数据。当同一 Worker 处理后续请求时,可能重新使用残留数据。攻击者可精心编排多个请求由同一 Worker 处理,结合 Session Upload Progress 等机制触发代码执行,PHP-FPM 和 Apache mod_php 均受影响。

二、紧急处置措施(按优先级排序)

第一步:立即升级 PHP(最高优先级,无替代方案)

这是唯一彻底消除 PHP2Shell 风险的措施。不存在有效的临时绕过方案。

当前分支    升级至
PHP 8.5.x    8.5.12
PHP 8.4.x    8.4.27
PHP 8.3.x    8.3.36
PHP 8.2.x    8.2.35

操作要点:

使用 php -v 检查 CLI 版本,但务必同时确认 Web 服务器实际加载的 PHP 版本(CLI 版本可能与 FPM/mod_php 不一致)

升级后必须重启 Apache 或 PHP-FPM 进程,确保新解释器生效

PHP 8.1 及更早版本已停止支持,无官方补丁,必须迁移至 8.2+

容器化部署需拉取包含修复的新镜像并重新部署,而非仅更新标签

第二步:处理关联的未修补风险(CVE-2026-115560)

2026年10月23日,PHP 追加披露了 CVE-2026-115560:在“配置中设为 php_binary 或 php_serialize,但应用代码在 session_start() 前用 ini_set() 切回 php”的非典型场景下,Session Upload Progress 机制仍存在 RCE 路径。PHP 尚未发布针对此问题的补丁。

立即缓解措施:

在 php.ini 中设置:

session.upload_progress.enabled = 0

或在 PHP-FPM 池配置(如 www.conf)中设置:

php_admin_flag[session.upload_progress.enabled] = off

在 php.ini、FPM pool 配置或服务器级别设置,不可依赖 ini_set() 或 .user.ini

设置后重启所有 PHP Worker

如果应用从不动态切换 session.serialize_handler,可暂时保留该功能开启;但若不确定,关闭是最安全的选择

注: PHP 下一次常规 bugfix 发布,届时将提供完整修复

第三步:排查是否已被利用

结合以下迹象进行日志审查:

排查维度

可疑迹象

HTTP 请求

异常的大型 Multipart POST;出现 Allowed memory size exhausted 错误后紧接可疑请求

进程行为

PHP 进程意外崩溃、重启,或出现无法解释的子进程

文件系统

Web 根目录下出现非部署产生的 .php 文件;session.save_path 中存在无法按当前序列化器正常解码的会话记录

会话异常

同一会话 Cookie 在数秒内出现跟随 Multipart POST 的第二个异常请求(竞态利用特征)

若发现上述迹象,按已失陷处置:隔离主机、轮换该主机可访问的所有凭据(数据库密码、API 密钥、云凭证)、审查横向移动痕迹。

三、暴露面确认清单

在升级前,先确认以下系统是否在受影响范围内:

· 所有面向互联网的 PHP 应用(Apache mod_php 最高风险,已确认无需认证即可 RCE)

· PHP-FPM 后端(特定条件下可利用)

容器镜像与 Docker 基础镜像

·  托管控制面板(cPanel 等)内置 PHP

已停止维护的遗留系统(PHP 8.1 及以下)

第三方设备/应用捆绑的 PHP 运行时

注意:仅升级 CMS 或框架不能修复此漏洞——漏洞位于 PHP 解释器本身。

四、临时缓解措施

如果生产环境因兼容性测试等原因无法在数小时内完成升级,可采取以下部分缓解:

WAF 规则:部署针对异常大型 Multipart 请求的拦截规则,限制单请求内存消耗。Microsoft 建议 Azure WAF 托管规则可作为补偿性防护

关闭 Session Upload Progress:session.upload_progress.enabled = 0,同时覆盖 CVE-2026-109619 的部分利用路径和 CVE-2026-115560

限制暴露面:将 PHP 服务置于反向代理之后,对请求体大小和并发连接数施加严格限制

进程隔离:确保 PHP-FPM Worker 以最小权限运行,降低 RCE 成功后的影响

必须明确:上述措施均为部分缓解,CVE-2026-109618 的 OOM 触发路径和 CVE-2026-109619 的 Worker 复用路径无法被完全阻断。升级仍是唯一根治手段。

五、时间线与紧迫性

时间

事件

10月21日 14:00 UTC

PHP 发布修复版本

10月21日 14:19 UTC

野外利用尝试首次观测到(补丁后 19 分钟)

10月21日

Amazon 蜜罐确认捕获利用尝试

10月23日

PHP 追加披露 CVE-2026-115560(未修补)

攻击者已在补丁发布后立即行动,PoC 已公开传播。未升级的 PHP2Shell 暴露系统应视为正在被主动扫描和尝试利用。

六、修复后验证

确认版本:通过 phpinfo() 或 php -i | grep "PHP Version" 验证 Web SAPI 版本

确认进程重启:检查 Apache/PHP-FPM 进程启动时间晚于升级时间

确认 session.upload_progress.enabled 状态符合预期

复查访问日志中是否有升级前的可疑 Multipart 请求模式,评估是否需要启动失陷排查

 

参考来源:PHP 官方安全公告、CERT-AGID、CERT.UG、ThaiCERT、Microsoft Learn、Brandefense、Mallory 威胁情报。本指南基于 2026 年 10 月 24 日前公开信息编制。



下一篇:暂无
上一篇:关于Oracle多个安全漏洞的通报

Document

Copyright © 2017-2026 快页信息技术有限公司 版权所有 备案号:苏ICP备2021015835号-7