PHP基金会披露尚未修复的新漏洞 提供缓解方案但暂时不会发新版本修复

PHP基金会披露尚未修复的新漏洞 提供缓解方案但暂时不会发新版本修复

💡 原文中文,约900字,阅读约需3分钟。
📝

内容提要

PHP基金会披露CVE-2026-115560远程代码执行漏洞,暂不发布紧急修复版本。触发需特定配置组合:session.serialize_handler设为php_binary或php_serialize,运行时经ini_set()切换为php并调用session_start(),且启用上传进度功能,实际较少见。临时缓解方案为将session.upload_progress.enabled设为0,待常规修复版本发布后再恢复。

🔎

延伸解读

漏洞触发条件为何被评估为少见

该漏洞需要同时满足多个条件:session.serialize_handler 初始设为 php_binary 或 php_serialize,运行时通过 ini_set() 切换为 php,再调用 session_start(),且 session.upload_progress.enabled 处于启用状态。PHP 基金会认为这种配置组合在实际应用中比较少见,因此暂不发布紧急修复版本。

临时缓解措施的具体操作

对于可能受影响的部署,PHP 基金会建议将 session.upload_progress.enabled 设置为 0,并保持该设置直到安装包含修复的常规版本。此前已经关闭上传进度功能的环境不需要重复调整。这一措施可降低漏洞被触发的风险,但并非彻底修复。

与 PHP2Shell 漏洞的区别

文章指出,新漏洞与早前 PHP 发布新版本修复的 PHP2Shell 漏洞不同。鉴于触发方式比较少见,PHP 基金会暂时只提供缓解方案,后续将发布新版本进行彻底修复。读者应注意区分两者,避免混淆修复策略。

❓

Q&A

CVE-2026-115560 漏洞是什么?

CVE-2026-115560 是 PHP 基金会披露的一个远程代码执行漏洞,但触发条件较为少见,因此暂不发布紧急修复版本。

触发 CVE-2026-115560 需要满足哪些条件?

需要同时满足:1) 应用配置将 session.serialize_handler 设置为 php_binary 或 php_serialize;2) 运行时通过 ini_set() 将其切换为 php;3) 切换后调用 session_start();4) session.upload_progress.enabled 处于启用状态。

为什么 PHP 基金会不发布新版本紧急修复这个漏洞?

因为该漏洞需要特定配置与应用代码组合才可能触发,实际应用中比较少见,危害度相对较低,所以基金会暂时提供缓解方案,后续再通过常规版本修复。

如何临时缓解 CVE-2026-115560 漏洞?

将 session.upload_progress.enabled 设置为 0 并保持该设置,直到安装包含修复的常规版本。此前已关闭上传进度功能的环境无需重复调整。

session.serialize_handler 在漏洞中起什么作用?

session.serialize_handler 用于控制 PHP 读写会话数据时使用的序列化格式。漏洞触发需要先将其设置为 php_binary 或 php_serialize,再在运行时切换为 php。

这个漏洞和 PHP2Shell 漏洞有什么关系?

该漏洞与早前 PHP 发布新版本修复的 PHP2Shell 漏洞不同,是另一个独立的漏洞。

🏷️

标签

➡️

继续阅读