Kubernetes最近爆出严重安全漏洞,影响几乎目前所有的版本。实际影响究竟多大?老版本用户是否必须升级?以下是华为云容器服务团队对该漏洞的分析解读。
Kubernetes爆出的严重安全漏洞:
攻击者通过构造特殊请求,可以在一个普通权限的链接上提升权限,向被代理的后端服务器发送任意请求。
该问题影响了几乎Kubernetes目前所有的版本,包括:
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)
什么样的集群可能被攻击?
集群启用了扩展API server,并且kube-apiserver与扩展API server的网络直接连通;
集群对攻击者可见,即攻击者可以访问到kube-apiserver的接口,如果你的集群是部署在安全的私网内,那么不会有影响;
集群开放了 pod exec/attach/portforward 接口,则攻击者可以利用该漏洞获得所有的kubelet API访问权限。
再看具体影响的场景
集群使用了聚合API,只要kube-apiserver与聚合API server的网络直接连通,攻击者就可以利用这个漏洞向聚合API服务器发送任何API请求;
如果集群开启了匿名用户访问的权限,则匿名用户也利用这个漏洞。不幸的是K8s默认允许匿名访问