文档首页/ 云容器实例 CCI/ 用户指南/ 漏洞修复公告/ kube-proxy安全漏洞CVE-2020-8558公告
更新时间:2023-10-13 GMT+08:00

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内跨节点访问。用户侧没有信息泄漏风险。