提升权限_【预警通告】Harbor权限提升漏洞安全预警通告

4fb01652ab5001d5e2970b794c047100.gif

点击箭头处“蓝色字”,关注我们哦!!


尊敬的客户:

Harbor是一款开源的可信云镜像仓库。主要用于镜像上传、更新、存储和维护。常用于与CI/CD配合管理Docker镜像。

Harbor 1.7.6之前版本和Harbor 1.8.3之前版本中的core/api/user.go文件存在安全漏洞。若开放注册功能,攻击者可利用该漏洞创建admin账户。

奇安信安全监测与响应中心将持续关注该漏洞进展,并第一时间为您更新该漏洞信息。

0f09c3f8b998905a41f3d0a63ed353c4.png

文档信息

文档名称

Harbor权限提升漏洞安全预警通告

关键字

Harbor、CVE-2019-16097

发布日期

2019年09月19日

分析团队

奇安信安全监测与响应中心

漏洞描述

Harbor是一款开源的可信云镜像仓库。主要用于镜像上传、更新、存储和维护。常用于与CI/CD配合管理Docker镜像。

Harbor 1.7.6之前版本和Harbor 1.8.3之前版本中的core/api/user.go文件存在安全漏洞。若开放注册功能,攻击者可利用该漏洞创建admin账户。注册功能默认开放。攻击者可以以管理员身份下载私有项目并审计;可以删除或污染所有镜像。

目前PoC已公开,建议受影响的客户尽快升级。

风险等级

奇安信安全监测与响应中心风险评级为:高危

预警等级:蓝色预警(一般事件)

影响范围

Harbor1.7.6之前版本和Harbor 1.8.3之前版本

处置建议

升级到1.7.6及以上版本或者1.8.3及以上版本

临时缓解方案:

关闭允许自行注册功能(Allow Self-Registration)

技术分析

分析代码的commit hash为e7488e37b69319fa9dcbaab57499bec5c8aed08a,此commit中尚未包含补丁。受影响的API请求地址是/api/users/,请求方式为POST,因此从API的路由中找到入口点,位置在src/core/router.go50行:

479138b2069af3eebe578a9d200b4e1f.png

可以看到其将此POST请求路由到了api.UserAPI中,找到api.UserAPI的处理POST请求的位置在src/core/api/user.go的302行,跟进代码,发现其先后判断认证方式,是否开启自行注册(默认开启)然后实例化了User结构体:

4facf12125a059f342bc784a2be7026a.png

我们先来看一下User结构体,位置在src/common/models/user.go 25行:

e182433765f423b5f127f31dea8f98d6.png

注意其中HasAdminRole字段对应的数据库表现形式和JSON请求表现形式。其在数据库中的字段表现形式为sysadmin_flag,JSON表现形式为has_admin_role

再继续跟入,后面的过程依次是,反序列化请求JSON串为User结构体,验证用户提交的User格式是否正确(用户名规范和密码规范)判断用户名和email字段是否已存在,然后直接调用数据库访问层的dao.Register()方法执行数据库插入的操作:

306e46b1f0111f8c7b8b66f4b2afab62.png

跟入dao.Register()方法中,位置在src/common/dao/register.go26行,可以看到其直接将User结构体的HasAdminRole字段插入到数据库。

b96249e18ac9cecf15f19aa901a3418f.png

由于整个过程没有对携带了has_admin_role字段的请求进行权限校验,导致用户可以直接通过此API设置一个新用户为管理员权限。 在github上进行commitdiff(https://github.com/goharbor/harbor/pull/8917/commits/b6db8a8a106259ec9a2c48be8a380cb3b37cf517#diff-fb70049a82e5abd89a68c8e2cccba44c)对比,可以看到此次提交对注册用户的请求进行了逻辑判断,不允许非管理员用户创建新的管理员用户。

8b1f0d9eebcb03ad9ccbaced92c28902.png

产品线解决方案

奇安信网站应用安全云防护系统已更新防护特征库:

奇安信网神网站应用安全云防护系统已全局更新所有云端防护节点的防护规则,支持对Harbor 权限许可和访问控制问题漏洞的防护。

奇安信网神天堤防火墙产品防护方案:

奇安信新一代智慧防火墙(NSG3000/5000/7000/9000系列)和下一代极速防火墙(NSG3500/5500/7500/9500系列)产品系列,已通过更新IPS特征库完成了对该漏洞的防护。建议用户尽快将IPS特征库升级至最新的特征库“1909191849”及以上版本并启用规则ID: 5383进行检测。   

网神虚拟化安全管理平台已更新入侵防御规则库:

网神虚拟化安全管理平台无代理版本可通过更新入侵防御规则库到10169版本,支持对Harbor 权限许可和访问控制问题漏洞的防护,请用户联系技术支持人员获取规则升级包对虚拟化产品无代理版本进行升级。 网神虚拟化安全管理平台轻代理版本可通过更新入侵防御规则库到2019-09-20版本,支持对Harbor 权限许可和访问控制问题漏洞的防护,请用户联系技术支持人员获取规则升级包对虚拟化产品轻代理版本进行升级。 

奇安信网神网络数据传感器系统产品检测方案:

奇安信网神网络数据传感器(NDS3000/5000/9000系列)产品,已具备该漏洞的检测能力。规则ID为:5383,建议用户尽快升级检测规则库至1909190849以上版本并启用该检测规则。 

奇安信天眼产品解决方案:

2019年9月10日, Harbor被爆出权限许可和访问控制问题漏洞,攻击者可发送特定请求绕过限制创建管理员用户。奇安信天眼新一代威胁感知系统在第一时间加入了该漏洞的检测规则,请将规则包升级到3.0.0823.11340或以上版本。规则名称:Harbor权限许可和访问控制问题漏洞,规则ID:0x10020706。奇安信天眼流量探针(传感器)升级方法:系统配置->设备升级->规则升级,选择“网络升级”或“本地升级”。

参考资料

[1]. https://unit42.paloaltonetworks.com/critical-vulnerability-in-harbor-enables-privilege-escalation-from-zero-to-admin-cve-2019-16097/ [2].  https://github.com/goharbor/harbor/pull/8917

时间线

[1]. 2019年9月19日,奇安信安全监测与响应中心发布预警通告

07d216fc2ab4ba59071fa5d410efb980.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值