跳转到正文

No. 7 4 分钟阅读

PHP 又出幺蛾子:紧急补丁刚发两天,又警告一个未修复的 RCE 风险

PHP 又出幺蛾子:紧急补丁刚发两天,又警告一个未修复的 RCE 风险

朋友们,PHP 团队这几天真是没闲着。

就在两天前(10 月 21 日),他们刚紧急发布了针对两个高危漏洞 CVE-2026-109618 和 CVE-2026-109619(合称 PHP2Shell)的补丁,修复了无需登录就能在服务器上执行代码的严重问题。结果今天(10 月 23 日),PHP 官方又发了一份简短的信息性通告,提醒大家还有另一个远程代码执行(RCE)风险还没补上。

这个新问题被编号为 CVE-2026-115560。

这次到底是怎么回事?

好消息是:这个漏洞触发条件非常苛刻,PHP 自己也认为实际被利用的可能性很低。

简单来说,只有当你的 Web 应用同时满足以下所有条件时,才可能中招:

  1. 配置文件里把 session.serialize_handler 设成了 php_binary 或 php_serialize;
  2. 运行过程中又用 ini_set() 把它改回了 php;
  3. 并且这个修改发生在调用 session_start() 之前;
  4. 同时,session upload progress 功能还处于开启状态(默认就是开的)。

听起来是不是很绕?确实。正常应用基本不会在运行时去改 serialize handler,所以 PHP 判断这属于“不太可能出现的配置场景”。

正因为如此,他们不打算发紧急补丁,而是准备把修复放进下一次常规版本更新里。在那之前,官方给出的临时缓解措施很简单:

session.upload_progress.enabled = 0

一行配置搞定。而且这个设置其实在 10 月 21 日那次紧急通告里就已经被推荐过了——如果你当时已经关掉了,现在可以什么都不用做。

和之前的 PHP2Shell 漏洞有啥关系?

  • 新漏洞和之前两个不是一回事,10 月 21 日的补丁(PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35)盖不住这个新问题。
  • PHP 目前还没公布受影响版本范围、具体修复版本,也没给严重性评分,甚至没说明它和 CVE-2026-109619 是否同源。
  • 目前没有发现 CVE-2026-115560 被实际利用的报告。

真正热闹的还是之前那两个漏洞

虽然新漏洞暂时风平浪静,但 PHP2Shell 那两个漏洞的利用尝试已经炸锅了:

  • Amazon 的蜜罐在 10 月 17 日(漏洞公开前 4 天)就抓到了针对这两个 CVE 的利用尝试。
  • Cloudflare 数据显示:公开后 45 分钟内尝试从“几万次”暴涨到数百万次。
  • 攻击者试图用它植入 Mirai 变种僵尸网络,但目前看来成功率不高——可靠的利用代码比想象中难写。多家安全厂商(Previdian、Wordfence 等)反馈目前主要是扫描和探测,还没有确认成功的代码执行案例。

现在该怎么办?

  1. 立刻检查配置
    确认是否开启了 session.upload_progress,建议暂时关掉,直到官方正式修复。
  2. 确认你已经打了 10 月 21 日的紧急补丁
    那两个 PHP2Shell 漏洞才是当前真正被疯狂扫描的对象。
  3. 关注官方后续通告
    PHP 表示会在下一次常规版本发布时给出完整的 CVE-2026-115560 安全公告。

总的来说,这次新警告更像是“以防万一”的提醒,而不是又一次紧急救火。真正需要紧张的,还是尽快把之前那两个高危漏洞补好,并盯紧服务器上的异常流量。

PHP 生态这几天有点热闹,大家且行且珍惜,及时更新吧。

参考链接

  • PHP 官方通告:https://www.php.net/archive/2026.php#2026-10-23-1
  • 10 月 21 日紧急补丁相关通告:https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
Master Hi~

在您的收件箱中接收下一期

想法、故事和创意...

请检查您的收件箱以确认订阅。