
# kube-proxy安全漏洞CVE-2020-8558公告
华为云CCI团队已经于7月10日识别kube-proxy安全漏洞CVE-2020-8558并对其进行了详细分析，分析结论为：**基于CCI服务当前形态，用户与CCI服务均不受本次漏洞的影响，无需进行处理**。
#### 漏洞详情
Kubernetes官方发布安全漏洞（CVE-2020-8558），Kubernetes节点的设置允许相邻主机绕过本地主机边界进行访问。
Kubernetes集群节点上如果有绑定在127.0.0.1上的服务，则该服务可以被同一个LAN或二层网络上的主机访问，从而获取接口信息。如果绑定在端口上的服务没有设置身份验证，则会导致该服务容易受到攻击。
参考链接：
<https://github.com/kubernetes/kubernetes/issues/92315>
#### 漏洞根因
kube-proxy为实现功能，开启了net.ipv4.conf.all.route_localnet=1内核参数。该参数允许内核接受来自其他节点的对于本机localhost的网络请求。
#### 如何判断是否涉及漏洞
- 使用了受影响的集群版本
  - kubelet/kube-proxy v1.18.0-1.18.3
  
  - kubelet/kube-proxy v1.17.0-1.17.6
  
  - kubelet/kube-proxy \<=1.16.10
   
- 集群内可信、不可信节点共享一个二层网络域（例如，同一个LAN）
- 集群允许不可信容器运行时包含CAP_NET_RAW（Kubernetes集群默认包含该能力）
- 节点（包含使用主机网络的容器）上存在监听localhost且未开启鉴权的服务
更多判断是否涉及漏洞的内容请参见<https://github.com/kubernetes/kubernetes/issues/92315>中"Am I vulnerable?"。
#### 漏洞分析结果
综合以上分析，**CCI服务不受本次漏洞影响**，因为：
- CCI当前集群基于Kubernetes 1.15版本，但kube-proxy组件使用自研代码，不涉及net.ipv4.conf.all.route_localnet=1参数。
- CCI的集群形态与普通kubernetes集群不同。CCI基于安全容器并与华为云网络服务深度整合，用户VPC网络与CCI物理主机网络不在同一个2层域中。**CCI服务侧没有信息泄漏风险。**
- 用户容器内核默认没有开启net.ipv4.conf.all.route_localnet=1参数，用户绑定在localhost的进程无法进行同VPC内跨节点访问。**用户侧没有信息泄漏风险。**
 
