与其纠结技术细节,不如聚焦核心业务,剩下的交给我们。

10月末安全动态:PHP 第三个 RCE 待修复,供应链投毒盯上开发环境

技术分享 2026-10-30 4 阅读

这一周的安全披露集中在两件事:运行时补丁和供应链投毒。PHP 发布紧急修复版本后又披露第三个待修复 RCE,自建 GitLab 存在 CVSS 10.0 级漏洞,LiteLLM、CLI 工具、WordPress 插件更新包先后被植入恶意代码。本文按时间线梳理影响范围,给出六项检查清单与成本参考。

10月末安全动态:PHP 第三个 RCE 待修复,供应链投毒盯上开发环境

这一周的安全披露比上月更密集:PHP 又公布一个待修复的远程代码执行漏洞,自建 GitLab 出现 CVSS 10.0 级问题,四起供应链投毒事件把矛头指向开发者的电脑和更新通道。结论先说:该打的补丁按清单打,而这一周更容易被忽略的动作,是检查你下载过、更新过、信任过的东西。

这一周发生了什么:一条时间线看完

把 10 月 19 日以来的公开披露排成时间线,会发现两类问题同时发生:一类是运行时组件的漏洞修复(PHP、Node.js、GitLab),按流程打补丁即可;另一类是官方下载渠道被投毒(命令行工具、PyPI 包、容器镜像、WordPress 插件更新包),这类事件里"版本号是官方的"并不等于"包是干净的"。

日期事件编号或版本说明
10月19日云厂商 CLI 下载包被替换0.11.0–0.15.0开发者账号被盗,五个历史版本的下载包被换成窃取密钥的构建
10月21日PHP 紧急修复两个未认证 RCE8.5.12 / 8.4.27 / 8.3.36 / 8.2.35CVE-2026-109618、CVE-2026-109619,即 PHP2Shell
10月21日Node.js、GitLab 同日披露修复Node 22/24/26;GitLab 18.11.13Brotli 解码器高危 CVE-2026-111497;GitLab CVSS 10.0 的 CVE-2026-110264
10月21日LiteLLM 官方包被投毒1.107.0PyPI 包与容器镜像被植入窃取云凭证和 AI 服务密钥的代码
10月23日PHP 披露第三个 RCECVE-2026-115560尚未修复,触发条件较窄,缓解配置一行
10月15–16日WordPress 插件更新包中招Rank Math PRO 3.0.123时间窗内分发的安装包含恶意代码,官方随后发布 3.0.124

PHP 官方在 10 月 21 日发布 8.5.12、8.4.27、8.3.36、8.2.35 四个修复版本,覆盖 CVE-2026-109618 与 CVE-2026-109619 两个未认证远程代码执行漏洞;10 月 23 日又发布信息性公告,披露了第三个 RCE(CVE-2026-115560)——它只在应用于运行时切换会话序列化处理器的少见配置下触发,修复将随下一个常规版本发布,当前缓解措施是把 session.upload_progress.enabled 设为 0。国家互联网应急中心(CNVD)也在 10 月 22 日发布了处置公告与缓解建议。另据 Check Point 10 月 26 日的威胁情报报告,截至 10 月 23 日,公网上 97.5% 的 PHP 实例仍未打上补丁,批量攻击尝试处于持续状态。

影响谁、影响多大

所有对外服务的 PHP 站点。PHP 官方公告写明风险对象是"所有处理 Web 请求的 PHP 安装",包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 与 LiteSpeed,其中 mod_php 的风险较高——已有演示显示未认证请求可在应用代码运行前触发攻击。8.1 及更早分支官方已停止维护,只能依赖发行版或服务商的回移植补丁,这是老系统这周要先确认的事。

自建 GitLab 与 Node.js 服务。GitLab 的 CVE-2026-110264 是正则编译器整数溢出导致的未认证远程代码执行,影响自管社区版与企业版,官方披露影响范围可追溯到 7.0 版本,修复于 18.11.13 及已修复的 19.x 系列。GitLab 上通常存有源码、CI 变量、部署密钥和云凭证,一旦失守,代价高于一般业务系统。Node.js 方面,10 月 21 日的紧急更新覆盖 22.x、24.x、26.x 三条分支,其中 Brotli 解码器漏洞 CVE-2026-111497 为高危,处理不可信压缩数据的服务(代理、解析 Content-Encoding 的客户端)应升级到各分支修复版,并同步检查系统与容器镜像内的 Brotli 库。

所有最近装过东西的人。四起供应链事件分别涉及:开源 AI 网关项目 LiteLLM 的 1.107.0 版 PyPI 包与容器镜像被植入窃密代码;一家云厂商的命令行工具在 10 月 19 日被替换了五个历史版本的下载包;WordPress 插件 Rank Math 的 PRO 版在约 11 小时窗口内分发的 3.0.123 包含恶意代码;备份管理服务 UpdraftCentral 的客户数据库疑遭访问,连接密钥被用于在客户站点安装恶意插件。这些事件与你的业务代码写得好不好无关,只与"在哪个时间窗装过什么"有关。

这周要过的检查清单

按暴露程度排序,前四项是补丁动作,后两项是供应链自查,建议本周内完成:

  1. 确认对外 PHP 版本:用 php-fpm -v 查看 Web 实际使用的版本——命令行 php -v 读的是另一套配置,不能作为判断依据——对照 8.5.12、8.4.27、8.3.36、8.2.35 确认是否已修复。
  2. 无法立即升级的,按 PHP 官方与 CNVD 建议做缓解:限制 memory_limit、关闭会话上传进度(session.upload_progress.enabled=0)并重启全部工作进程、用 WAF 拦截异常的 multipart 请求。
  3. 自建 GitLab 升级到 18.11.13 或已修复的 19.x 版本,安排一次停机窗口;升级后检查 CI 变量与部署密钥有无异常使用记录。
  4. Node.js 服务升级到各分支修复版,重建包含 Brotli 依赖的容器镜像,不要只改宿主机。
  5. 供应链自查:装过 LiteLLM 1.107.0 的环境按凭证泄露事件处理,轮换云厂商与 AI 服务密钥;在 10 月 19 日前后于受影响时间窗内装过该 CLI 的机器,按密钥已泄露处理;更新过 Rank Math PRO 3.0.123 的站点按官方指引处置;使用 UpdraftCentral 的站点吊销旧连接密钥并轮换。
  6. 长效动作:锁定依赖版本并记录哈希、给"下载即执行"的运维操作加一道人工确认、把这三类事件的处置动作写进交接文档。

判断优先级可以简化成一句话:先处理"对外暴露且无需登录即可触达"的补丁,再处理"装过受影响包"的时间窗自查——前者决定会不会被扫到,后者决定损失会不会扩大。

成本、周期与取舍

成本上分三档:PHP 小版本升级,自运维团队分钟级完成,托管服务提交工单即可;GitLab 升级需要 1–2 小时停机窗口,主要成本在升级前的备份与回滚预案;供应链事件响应是纯人力活,核心动作是轮换密钥,半天内可完成主要轮换。取舍上不建议把精力平均分配:漏洞补丁是"确定要发生的事",早做一小时风险就少一小时;供应链自查只在命中时间窗时才成立,查完记录归档即可,不必反复。

如果 PHP 环境升级、GitLab 运维或老系统排查需要外部支持,尊云科技的 PHP 维护服务覆盖版本升级、安全加固与补丁跟进,可按次或按年合作;此前针对 PHP2Shell 的分级处置思路写在这篇分析里,可与本文清单配合使用;托管类站点也可以参考网站维护服务页了解日常巡检包含的内容。