GPUStack 身份验证绕过漏洞遭在野利用:影响、修复与自查

漏洞概况

GPUStack 是一款开源 GPU 集群管理与 AI 模型服务工具。2026 年 11 月 4 日,厂商公开安全公告 GHSA-gj9m-f8ph-pmhr,披露身份验证绕过漏洞 CVE-2026-102895,CVSS 3.1 评分 9.8(严重)。厂商公告明确写明,该漏洞已在针对一台 v2.1.1 部署的在野攻击中被观察到利用,攻击者在被攻陷的部署上创建了运行反向 Shell 的自定义后端。截至本文发布时,该漏洞尚未进入 CISA KEV 目录。

漏洞根因在概念层面是:服务端把请求的网络来源当作认证信号。2.2.0 之前版本中,当配置项 force_auth_localhost 为默认值 false 时,来自回环地址的请求会被当作内置管理员;远端请求可通过同机反向代理对端或客户端提供的 X-GPUStack-Real-IP 回环值,伪装成来自 127.0.0.1,从而无需认证获得管理员权限。

受影响版本与修复版本

  • 受影响版本:GPUStack 2.2.0 之前的所有版本。
  • 修复版本:2.2.0。
  • 建议直接升级到 2.2.2 或更高版本:同一批厂商公告还修复了另外两个身份验证相关问题——CVE-2026-102894(SAML 回调未校验签名,可冒用任意账号,CVSS 9.1,影响 0.7.1 至 2.2.2 之前版本,修复于 2.2.2)与 CVE-2026-103002(集群 API 代理缺少资源级授权检查,CVSS 8.8,影响 2.2.0 至 2.2.2 之前版本,修复于 2.2.2)。升到 2.2.2 可一次覆盖三项。
  • 未确认在野利用的另两项不单独成篇,随本次升级一并处理。

可能的影响

成功利用 CVE-2026-102895 的攻击者无需任何账号即可获得 GPUStack 管理员权限,可能造成的影响包括:增改用户与模型配置、创建持久有效的管理员 API 密钥、读取 Worker 与云服务商密钥等敏感信息,以及进一步在 Worker 主机上执行代码。已确认的在野案例中,攻击者利用该权限创建自定义后端并运行反向 Shell。

自查步骤

  1. 确认版本:在服务器上执行 pip show gpustack,或在管理界面查看版本号;低于 2.2.0 即受影响,低于 2.2.2 则还带有同批另外两项问题。
  2. 确认暴露面:检查 GPUStack 服务端口是否可从不受信任的网络直接访问;仅内网可达的部署风险相对低,但仍应升级。
  3. 检查账号与密钥:核对管理员账号列表与 API 密钥清单,留意不认识的新增用户、新增的管理员密钥,以及近期创建或修改的模型与推理后端。
  4. 检查 Worker 主机:查看各 Worker 上有无异常进程、异常出站网络连接或非预期的 Shell 进程。
  5. 检查日志:回溯服务访问日志,留意来源显示为回环地址、但实际来自外部的异常请求记录。

修复建议

  1. 将 GPUStack 升级到 2.2.2 或更高版本,这是厂商提供的修复方式。
  2. 升级后轮换可能已泄露的凭证:管理员 API 密钥、模型服务密钥,以及 Worker 上配置的云服务商密钥;删除不明来源的用户、密钥与自定义后端。
  3. 若自查发现异常后端、异常账号或 Worker 主机上有可疑进程,按已入侵处置:隔离受影响主机、保留日志取证后再重建,不要只升级了事。
  4. 长期加固:不要把 GPUStack 管理服务直接暴露到公网,仅允许可信网络访问,并定期复核版本与密钥清单。

说明

本文只讲防御:受影响版本、修复版本与自查步骤,不涉及利用细节。本文依据厂商 GitHub 安全公告 GHSA-gj9m-f8ph-pmhr 与 NVD 记录编写,版本号与评分以厂商公告为准;如厂商后续发布新的公告或该漏洞进入 CISA KEV,将另行更新。