CVE-2019-16097 Harbor权限提升漏洞分析 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

CVE-2019-16097 Harbor权限提升漏洞分析

ang010ela 漏洞 2019-09-21 10:28:58
222545
收藏

导语:​研究人员在Harbor中发现一个漏洞,攻击者利用该漏洞可以将权限提升到admin。

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

Unit 42安全研究人员Aviv Sasson在Harbor中发现了一个严重漏洞,攻击者利用该漏洞可以通过发送恶意请求来控制Harbor注册表。Unit 42研究人员发现有超过1300个使用有漏洞的默认配置的Harbor Registry服务器可以通过互联网访问。

背景

研究人员在Harbor项目中发现了一个重要的权限提升漏洞,攻击者利用该漏洞可以在默认配置下获取admin权限。该漏洞于9月10日公布,CVE编号为 CVE-2019-16097

Harbor项目在过去4年内的知名度和流行度不断攀升,并于去年11月成为CNCF incubating project (CNCF孵化项目)。Harbor项目的赞助商和使用企业包括:

图1. Harbor项目的赞助商和使用企业

漏洞影响

该漏洞的影响非常严重,因为在获取admin权限后,可以初始化许多攻击向量。攻击者可以下载和查看所有的私有项目,可以删除registry上的镜像,甚至可以替换镜像来污染registry。攻击者可以创建新的用户,并将它设置为admin。之后,攻击者可以通过Docker命令行工具用新的凭证连接Harbor registry,并替换当前的镜像。恶意镜像可以说恶意软件、加密货币挖矿机等。

POC视频如下:

https://www.biantube.com/watch/LBgIKqdfF1k

漏洞分析

首先分析User结构:

图2. Harbor源代码中的User结构

研究人员关注的目标参数是HasAdminRole,该参数的目的是表明用户是否admin。如果可以修改为True,攻击的目的就达到了。

那么如何实现呢?首先分析API调用,如果有人尝试访问/api/users,那么就会发现一些有趣的调用:

图3. /api/users

如果用户想要发送POST请求,就可以到达负责新用户注册的代码段。

 图4. POST请求处理逻辑

漏洞位于user.go:317中:

if err := ua.DecodeJSONReq(&user); err != nil

在该行代码中,我们可以从POST请求中获取数据,然后解码为用户对象。

正常的请求payload如下所示:

{“username”:”test”,”email”:”test123@gmai.com”,”realname”:”no name”,”password”:”Password1\u0021″,”comment”:null}

问题在于攻击者可以发送一个请求,并加入参数has_admin_role。如果发送“had_admin_role” = “True”的请求,就可以创建为admin的用户。

漏洞利用

研究人员写了一个简单的python脚本,用来发送POST请求到/api/users来创建权限为admin的新用户,需要在request body中将参数has_admin_role设置为True。运行脚本后,唯一需要做的是在浏览器中打开Harbor,并用新创建的用户登入。

解决方案

Harbor团队发布了解决该漏洞的补丁,9月18日发布的Harbor versions 1.7.6和1.8.3版本中都进行了安全更新。发布注释中说是通过禁止注册时创建admin用户来解决该问题。

开发者加入了一个检查过程来防止非管理员用户创建新的admin用户。该漏洞存在于1.70-1.8.2版本中,因此研究人员建议用户尽快更新到最新版本。

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务