服务公告

全部公告 > 安全公告 > Kubernetes 本地主机边界绕过漏洞(CVE-2020-8558)

Kubernetes 本地主机边界绕过漏洞(CVE-2020-8558)

2020-07-10

一、概要

近日华为云监测到Kubernetes官方发布安全公告,其核心组件kube-proxy存在主机边界绕过漏洞(CVE-2020-8558)。利用漏洞攻击者可能通过同一局域网下的容器,或在集群节点上 访问同一个二层域下的相邻节点上绑定监听了本地127.0.0.1端口的TCP/UDP服务,从而获取接口信息。如果绑定在端口上的服务没有设置身份验证,则会导致该服务容易受到攻击。

华为云提醒使用kube-proxy的用户及时安排自检并做好安全加固。

详情请参考链接:

https://github.com/kubernetes/kubernetes/issues/92315

二、威胁级别

如果集群API Server开启了非认证端口(默认8080),威胁级别:【严重】

如果集群API Server默认关闭了非认证端口,威胁级别:【重要】

(说明:威胁级别共四级:一般、重要、严重、紧急)

三、漏洞影响范围

受影响版本:

kubelet / kube-proxy v1.18.0-1.18.3

kubelet / kube-proxy v1.17.0-1.17.6

kubelet / kube-proxy <= 1.16.10

安全版本:

kubelet / kube-proxy master

kubelet / kube-proxy v1.18.4+

kubelet / kube-proxy v1.17.7+

kubelet / kube-proxy v1.16.11+

四、漏洞处置

目前官方已提供安全版本修复了该漏洞,请受影响的用户升级至安全版本,升级请参考官方文档:

https://kubernetes.io/docs/tasks/administer-cluster/cluster-management/#upgrading-a-cluster

规避措施:

1、如果业务容器需使用主机网络模式且又监听在非安全端口上,可以通过在节点上手动添加iptables规则来缓解此漏洞。此规则将拒绝来自节点到127.0.0.1的流量。

iptables -I INPUT --dst 127.0.0.0/8 ! --src 127.0.0.0/8 -m conntrack ! --ctstate RELATED,ESTABLISHED,DNAT -j DROP

如果集群不需要开启API Server不安全端口,可以将--insecure-port=0添加到kubernetes API服务器命令行来禁用端口。

2、如果集群内运行有不受信的容器,需要manifest文件中关闭CAP_NET_RAW能力。

securityContext:

      capabilities:

        drop: ["NET_RAW"]

注:修复漏洞前请将资料备份,并进行充分测试。