Red Hat 在其安全信息页面披露,旗下容器镜像仓库“Red Hat Quay”存在两个被评为最高严重等级“Critical”的漏洞(CVE-2026-123710、CVE-2026-110697)。两者的 CVSS 3.1 基础评分分别为 9.8 和 9.9,一旦被利用,仓库中的私有镜像可能被读取或写入,其他用户机器人账号的凭据也可能被窃取。Red Hat 表示,这两个漏洞均由该公司自行发现。

两个漏洞的 CVSS 均在 9.8 以上,属于“Critical”

Red Hat 安全信息页面列出的两个漏洞概要如下。

CVECVSS 3.1内容
CVE-2026-1237109.8滥用服务密钥的注册机制,攻击者可注册自己的签名密钥
CVE-2026-1106979.9列出机器人账号时,可获取其他租户的账号和令牌

详细信息可参阅 Red Hat 的 CVE-2026-123710 页面和 CVE-2026-110697 页面。

无需认证即可注册自己的签名密钥(CVE-2026-123710)

据 Red Hat 介绍,在 CVE-2026-123710 中,即使是未经认证的用户,也能获取镜像仓库的匿名令牌(由 /v2/auth 签发),再将其提交给用于更新服务密钥的接口(/keys),从而注册一个没有有效期的自有签名密钥。用这个密钥签名的令牌对任何仓库都有效,因此可以读取、写入私有镜像,甚至替换标签。

问题的根源在于,密钥更新流程只检查令牌是否由已批准的密钥签名、是否带有预期的签发方和受众,却没有确认它是否真的是用于密钥更新的凭据。Red Hat 表示,凡是不受信任的客户端能够访问 /keys 的部署环境都会受到影响。

其他租户的机器人账号令牌可能泄露(CVE-2026-110697)

CVE-2026-110697 是 Quay 列出机器人账号(用于自动化任务的账号)时的缺陷。Quay 使用命名空间名称拼接 SQL LIKE 查询条件时,没有对会被当作通配符的字符进行转义。因此,攻击者只要创建一个包含下划线的命名空间,就可能匹配到其他租户的命名空间,进而获取对方的机器人账号以及已解密的令牌。

Red Hat 说明,该漏洞会破坏多租户 Quay 的租户隔离,而且既不需要特殊权限,也不需要受害者进行任何操作。该公司还指出,在 OpenShift 环境中,被窃取的机器人账号凭据可能被用来向 CI/CD 流水线混入镜像。

需要升级到修复版本,并限制对 /keys 的访问

针对 CVE-2026-110697,Red Hat 列出的修复版本为 3.9.28、3.10.28、3.12.24、3.14.10、3.15.9、3.16.7、3.17.7 和 3.18.3,并表示该公司运营的 Quay.io 已完成修复。除升级外没有完整的规避方法;如果无法立即升级,Red Hat 建议限制可以创建含下划线的组织或命名空间的用户、为名称冲突的命名空间重新生成机器人令牌,并监控镜像仓库的活动,但同时表示这些措施无法从根本上解决问题。

针对 CVE-2026-123710,页面上没有列出修复版本号,但表示需要升级到已修复的构建版本。在此之前,Red Hat 建议通过代理服务器或负载均衡器,将可访问 /keys 的对象限定为受信任的内部组件,并在审计日志中检查有效期为空的 service_key_rotate 和 service_key_delete 记录,删除来源不明的已批准服务密钥。不过该公司也提醒,在部署修复版本之前,匿名请求仍可再次注册密钥,因此即使删除了恶意密钥,效果也无法持久。

笔者观点

容器镜像仓库汇集了从开发到生产环境所用的镜像,一旦在这里允许写入或替换标签,影响就可能波及此后所有拉取镜像的环境。这两个漏洞都源于认证检查缺失、输入未转义这类基础性缺陷,影响范围却覆盖整个镜像仓库并跨越租户边界。自行运营 Quay 的机构除了应尽快应用修复版本,最好在升级前后确认 /keys 是否能从外部访问,以及审计日志中是否留有可疑的密钥注册记录。

总结

Red Hat 披露 Red Hat Quay 存在两个 Critical 等级的漏洞。其中一个可能让攻击者无需认证即可注册签名密钥并读写私有镜像,另一个则可能导致其他租户的机器人账号令牌泄露。Quay 管理员应升级到修复版本,并确认 Red Hat 给出的临时应对措施。