文档首页/ 云容器引擎 CCE/ 服务公告/ 漏洞公告/ 全面修复Kubernetes权限许可和访问控制漏洞公告(CVE-2018-1002105)
更新时间:2023-08-02 GMT+08:00

全面修复Kubernetes权限许可和访问控制漏洞公告(CVE-2018-1002105)

漏洞详情

近日,Kubernetes社区发现安全漏洞CVE-2018-1002105。通过伪造请求,Kubernetes用户可以在已建立的API Server连接上提权访问后端服务,华为云容器服务已在第一时间完成全面修复。

表1 漏洞信息

漏洞类型

CVE-ID

漏洞级别

披露/发现时间

华为云修复时间

权限提升

CVE-2018-1002105

严重

2018-12-05

2018-12-05

漏洞详细介绍:https://github.com/kubernetes/kubernetes/issues/71411

漏洞影响

集群使用了聚合API,只要kube-apiserver与聚合API server的网络直接连通,攻击者就可以利用这个漏洞向聚合API服务器发送任何API请求;

如果集群开启了匿名用户访问的权限,则匿名用户也利用这个漏洞。不幸的是Kubernetes默认允许匿名访问,即kube-apiserver的启动参数”-- anonymous-auth=true”;给予用户Pod的exec/attach/portforward的权限,用户也可以利用这个漏洞升级为集群管理员,可以对任意Pod做破坏操作。

该漏洞的更详细讨论,可见社区Issue:https://github.com/kubernetes/kubernetes/issues/71411

该漏洞的影响范围如下:

  • 集群启用了扩展API server,并且kube-apiserver与扩展API server的网络直接连通。
  • 集群对攻击者可见,即攻击者可以访问到kube-apiserver的接口,如果您的集群是部署在安全的私网内,那么不会有影响。
  • 集群开放了pod exec/attach/portforward接口,则攻击者可以利用该漏洞获得所有的kubelet API访问权限。

具体影响的集群版本如下:

  • Kubernetes v1.0.x-1.9.x
  • Kubernetes v1.10.0-1.10.10 (fixed in v1.10.11)
  • Kubernetes v1.11.0-1.11.4 (fixed in v1.11.5)
  • Kubernetes v1.12.0-1.12.2 (fixed in v1.12.3)

漏洞修复方案

综合以上分析,使用华为云CCE服务时不必过于担心,因为:

  • CCE服务创建的集群默认关闭匿名用户访问权限。
  • CCE服务创建的集群没有使用聚合API。

华为云容器引擎已完成1.11以上版本Kubernetes集群的在线补丁修复,针对低于v1.10的集群(社区已不对其进行修复),已提供补丁版本进行修复,请关注升级公告,及时修复漏洞。

如果您是自己搭建Kubernetes集群,为提高集群的安全系数,建议如下,一定要关闭匿名用户访问权限。

尽快升级到社区漏洞修复版本。合理配置RBAC,只给可信用户Pod的exec/attach/portforward权限。

如果您当前使用的Kubernetes版本低于v1.10,不在官方补丁支持范围内,建议自行回合补丁代码 :https://github.com/kubernetes/kubernetes/pull/71412