Docker Hub 修复了将个人账户转换为组织时,连同自动化认证凭据一起转交给新所有者的问题。攻击者可借此以他人权限使用自己持有的认证凭据,使用过账户转换功能的开发团队有必要核查影响通知与令牌处理记录。
1. 所有者变更如何导致权限滥用
Docker Hub 不提供将仓库迁移至其他账户的功能,而是提供将个人账户转换为组织的功能。该方式保留仓库地址,避免现有镜像下载路径失效,同时指定一个已有账户作为组织所有者。
问题在于,被转换账户的个人访问令牌也被重新分配给了新所有者。令牌是在自动化中替代密码的认证凭据。系统仅更改了所有者记录,未更换或撤销秘密值,也未征求新所有者同意或向其发送通知。
攻击者可以先在自己的账户中创建令牌,再将账户转换为组织,并指定受害者为所有者。随后,攻击者便可用自己掌握的秘密值以受害者身份进行认证。这相当于仅将他人持有的通行证改为受害者名下。
Docker 以 CVE-2026-105445 披露了这一问题。在令牌权限范围内,攻击者可下载、上传或删除受害者及其可访问组织的仓库镜像,因此 Docker 将其评估为可借合法名称分发镜像的供应链风险。Docker 表示,该漏洞无法用于访问网页界面、更改密码、邮箱或双重认证设置,也无法接管账户。
2. 修复与影响通知的范围
暴露期间为 2024 年 8 月 26 日 20:33 UTC 至 2026 年 9 月 30 日约 19:10 UTC。Docker 在收到报告后不到四小时便将修复部署到生产环境,取消了账户转换时的令牌转移。这阻止了经由该路径的权限滥用,但新所有者需要重新创建令牌。
Docker 于 2026 年 10 月 2 日下午 5 时 30 分向可能受影响的用户及相关组织所有者发送了邮件。随后于 10 月 8 日下午 3 时 45 分停用了已转移的令牌,但不包括所有者在截止前请求保留的令牌。这两个时间均为公告中标注的美国东部时间。
通知包含相关令牌的描述和创建日期。Docker 表示,若未收到该邮件,则本人及所管理组织的成员均未暴露于此漏洞,无需另行采取措施。
3. 漏洞利用调查结果与剩余盲区
Docker 调查了自问题引入之日起的所有账户转换。通过比对认证日志、服务使用数据和令牌记录,查找以多个身份使用的令牌,并检查了使用已转移令牌上传镜像的约 30 万 4,000 次记录。
调查未发现漏洞遭到利用的证据。镜像仅上传至转换后的组织或新所有者的仓库,没有指向无关用户或组织的记录。绝大多数转换属于同一人或团队持有两个账户的正常使用。
对于无法确认两个账户是否由同一人控制的转换,Docker 对转换后上传的高风险公开镜像进行了静态分析,未运行这些镜像。Docker 表示,未发现恶意代码、加密货币挖矿或命令与控制通信等迹象,也没有证据表明其自身基础设施或服务受到影响。
不过,日志只记录令牌的使用,而不记录其存在,因此已转移但未使用的令牌不会留下痕迹。Docker 未按是否检测到使用来划分对象,而是将暴露期间因转换而转移的全部令牌均视为可能受影响。
4. 用户需核查的事项与后续变更
作为常规安全检查,Docker 建议在账户设置的个人访问令牌页面撤销不认识或不再使用的令牌。同时建议组织自动化使用组织访问令牌,而非个人令牌。
Docker 提出的后续措施包括:指定组织所有者前征求同意、指定后发送通知、为令牌所有权变更保留可审计的历史记录,以及检查其他凭据的所有权变更流程。这些措施旨在补足此前依赖使用痕迹的调查方式,转向记录所有权变更本身。
此次应对的核心是阻止令牌转移,在指定组织所有者时征求同意,并为令牌所有权变更保留可追溯的记录。
