
# 全面修复Kubernetes权限许可和访问控制漏洞公告（CVE-2018-1002105）
#### 漏洞详情
近日，Kubernetes社区发现安全漏洞CVE-2018-1002105。通过伪造请求，Kubernetes用户可以在已建立的API Server连接上提权访问后端服务，华为云容器服务已在第一时间完成全面修复。
表1漏洞信息 
| 漏洞类型 | CVE-ID                                                                              | 漏洞级别 | 披露/发现时间    | 华为云修复时间    |
|:---|:---|:---|:---|:---|
| 权限提升 | [CVE-2018-1002105](https://cve.mitre.org/cgi-bin/cvename.cgi?name=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的集群（社区已不对其进行修复），已提供补丁版本进行修复，请关注升级公告，及时修复漏洞。
![](https://support.huaweicloud.com/bulletin-cce/public_sys-resources/note_3.0-zh-cn.png)
如果您是自己搭建Kubernetes集群，为提高集群的安全系数，建议如下，一定要关闭匿名用户访问权限。
尽快升级到社区漏洞修复版本。合理配置RBAC，只给可信用户Pod的exec/attach/portforward权限。
如果您当前使用的Kubernetes版本低于v1.10，不在官方补丁支持范围内，建议自行回合补丁代码 ：<https://github.com/kubernetes/kubernetes/pull/71412>。
