Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
漏洞背景
研究人员在 Harbor 项目中发现了一个重要的权限提升漏洞,攻击者利用该漏洞可以获取 admin 权限。该漏洞于 9 月 10 日公布,CVE 编号为 CVE-2019-16097。
漏洞影响
该漏洞的影响非常严重,因为在获取 admin 权限后,可以初始化攻击向量。攻击者可以下载和查看所有的私有项目,可以删除 registry 上的镜像,可以替换镜像来污染 registry。攻击者可以创建新的用户,并将它设置为 admin。之后,可以通过 Docker 命令行工具用新的凭证连接 Harbor registry,并替换当前的镜像。恶意镜像可以是恶意软件、加密货币挖矿机等。
漏洞分析
在src/common/moudels下user.go中的user结构。其中HasAdminRole参数标