PHP又爆未修复 RCE 漏洞?别慌!没那么严重
原创
微步情报局
微步情报局
微步在线研究响应中心
2026年10月23日 22:32
北京
去阅读
一、事件背景
2026 年 10 月 23 日,继发布 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35 修复“PHP2Shell”高危漏洞(CVE-2026-109618、CVE-2026-109619)仅两日后,PHP 官方追加发布了一则关于会话上传进度(Session upload progress)的安全通告(编号:CVE-2026-115560),指出在非典型的特定配置下仍存在一处尚未修补的远程代码执行风险。
二、微步风险研判结论
针对外部媒体关于“PHP 曝出未修复 RCE 漏洞”的报道,微步情报局第一时间完成了基本研判,初步结论如下:
1. 触发门槛极高,实际影响面有限:
该漏洞属于跨会话序列化处理器解析差异导致的反序列化问题,必须同时满足以下三个条件才可被利用:
-
条件一:在配置文件中将 session.serialize\_handler 显式设置为 php\_binary 或 php\_serialize;
-
条件二:应用代码在调用 session\_start() 之前,通过 ini\_set() 函数在运行时将其动态切换回 php;
-
条件三:session.upload\_progress.enabled 保持开启状态。
只要业务代码未在运行时调用 ini\_set() 动态更改会话序列化处理器,即不受此漏洞影响。由于该组合在实际生产中极少出现,PHP 官方决定不单独发布紧急补丁,而是纳入下一常规维护版本修复。
2. 与前序 CVE-2026-109619 缓解措施完全兼容:
关闭 session.upload\_progress.enabled 既是两日前 CVE-2026-109619 的官方缓解措施,也是本次 CVE-2026-115560 的完全阻断方案。此前已落实该项加固的客户无需重复操作。
三、自查与加固建议
1. 一分钟快速自查
若需确认线上业务代码是否存在动态修改序列化处理器的写法,可在代码目录执行以下命令检索(无输出则代表代码层不受影响):
grep -rnE \"ini_set\\s*\\(\\s*['\\\"]session\\.serialize_handler['\\\"]\" /path/to/webroot/
2. 防御性配置加固
无论是否命中代码条件,若业务无需使用 PHP 原生会话上传进度功能,均建议在启动级配置中将其关闭,以同时收敛 CVE-2026-109619 与 CVE-2026-115560 的攻击面:
- 在 php.ini 中设置:
session.upload_progress.enabled = 0
- 或在 PHP-FPM 池配置(如 www.conf)中设置:
php_admin_flag[session.upload_progress.enabled] = off
注意:修改后需重启全部 PHP-FPM 工作进程或 Apache 服务方可生效,请勿依赖代码内的 ini\_set() 或 .user.ini 设置。
四、官方参考链接
- PHP 官方通告(2026-10-23):https://www.php.net/archive/2026.php#2026-10-23-1
* PHP 官方紧急安全更新通告(2026-10-21):https://www.php.net/archive/2026.php#2026-10-21-5
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论