漏洞是什么
Red Hat Quay 存在一处未认证的服务密钥接管漏洞,编号 CVE-2026-123710,CVSS 9.8,Red Hat 评级 Critical,2026 年 11 月 11 日公开。未认证的远程客户端可以向服务密钥轮换端点提交请求,安装自己控制的、没有过期时间的已批准签名密钥。此后,用这把密钥签发的仓库令牌会被当作任意仓库的有效凭证,攻击者可以读取和写入私有镜像、替换仓库标签。
概念上讲,这是一次“信任锚被替换”:镜像仓库信任的是签名密钥,而不是每次请求都重新核对调用者身份。一旦签名密钥被换成攻击者自己的,后续的读写鉴权都会基于这把假密钥放行。
受影响范围
- Project Quay:3.9 系列低于 3.9.28、3.10 系列低于 3.10.28、3.12 系列低于 3.12.24、3.14 系列低于 3.14.10、3.15 系列低于 3.15.9、3.16 系列低于 3.16.7、3.17 系列低于 3.17.7、3.18 系列低于 3.18.3;
- Red Hat Quay 3.9 至 3.18(容器镜像均有对应修复构建);
- Red Hat Quay 5、mirror registry for Red Hat OpenShift 2 同样受影响,截至发稿尚未发布修复。
修复版本
Red Hat 已于 2026 年 11 月 11 日发布修复公告 RHSA-2026:99019 至 RHSA-2026:99027(11 月 12 日更新),覆盖 Quay 3.9 至 3.18。上游修复版本为 3.9.28、3.10.28、3.12.24、3.14.10、3.15.9、3.16.7、3.17.7、3.18.3。运行上述版本的用户应升级到对应系列的修复版或更高版本;使用 Red Hat 容器镜像部署的,按 RHSA 公告更新到已修复的镜像构建。
截至发稿,该漏洞没有已确认的在野利用,也未列入 CISA 已知被利用漏洞目录(KEV)。
自查步骤
- 确认版本:核对所运行的 Quay 版本是否在受影响范围内,是否已达到上文列出的修复版。
- 审查已批准的服务密钥:列出当前已批准的服务密钥,逐一核对来源,删除无法识别的密钥。
- 审查审计日志:检索 service_key_rotate 与 service_key_delete 事件,重点看 expiration_date 为空的记录——空过期时间是该漏洞留下的特征之一。
- 检查仓库标签与镜像:核对关键仓库的标签是否被异常替换、私有镜像是否出现未授权的拉取或推送记录。
- 仍无修复的产品先做缓解:Red Hat Quay 5 与 OpenShift 镜像仓库 2 暂无修复,见下节。
暂时无法升级时的缓解
- 在代理或负载均衡层限制 /keys 端点的访问,只允许受信任的内部组件到达该端点;
- 按上节第 2、3 步审查并清理可疑的已批准服务密钥与审计日志;
- 注意:只删除恶意密钥并不持久——在部署修复构建之前,匿名请求可以再次安装新的密钥,因此缓解措施必须配合网络层限制,不能只靠事后清理。
当前状态
修复已发布(2026 年 11 月 11 日),无已确认的在野利用,未进 CISA KEV。部署了受影响版本 Quay 的用户应按修复版本升级;Quay 5 与 OpenShift 镜像仓库 2 的用户在官方发布修复前,先用上节的缓解措施收紧 /keys 端点访问并持续审查审计日志。