0x01 漏洞背景
2020年07月10日, 360CERT监测发现 Kubernetes官方 发布了 Kubernetes 节点的设置允许相邻主机绕过本地主机边界 的风险通告,该漏洞编号为 CVE-2020-8558,漏洞等级:中危。
安全研究人员在kube-proxy中发现了一个安全问题,攻击者能够通过同一局域网下的容器,或者在集群节点上访问同一个二层域下的相邻节点上的本地127.0.0.1的TCP/UDP服务,从而获取接口信息。如果绑定在端口上的服务没有设置身份验证,就会导致该服务容易受到攻击。
对此,360CERT建议广大用户及时安装最新补丁,做好资产自查以及预防工作,以免遭受黑客攻击。
0x02 风险等级
360CERT对该漏洞的评定结果如下
评定方式 | 等级 |
---|---|
威胁等级 | 中危 |
影响面 | 一般 |
0x03 漏洞详情
Kubernetes是一个开源系统,用于跨多台主机管理容器化的应用程序。它为应用程序的部署、维护和扩展提供了基本机制。
安全研究人员在kube-proxy组件中发现了一个安全问题,攻击者可能通过同一局域网下的容器,或在集群节点上访问同一个二层域下的相邻节点上绑定监听了本地127.0.0.1端口的TCP/UDP服务,从而获取接口信息。如果绑定在端口上的服务没有设置身份验证,就会导致该服务容易受到攻击。
如果出现以下情况,您可能会受到攻击:
- 您目前运行着一个存在漏洞的版本。
- 您的群集节点运行在 : 不受信任的主机与节点共享相同的第二层域(即相同的LAN)的环境中。
- 您的集群允许不受信任的pods运行带有CAP_NET_RAW的容器(Kubernetes的默认设置是允许这个功能的)。
- 您的节点(或主机网络pods)运行的本地服务没有身份验证
要列出可能受影响的服务,请在节点上运行以下命令:
lsof +c 15 -P -n -i4TCP@127.0.0.1 -sTCP:LISTEN lsof +c 15 -P -n -i4UDP@127.0.0.1
在主节点上,如果出现这样的lsof运行结果则表明API服务器可能正在使用不安全的端口侦听:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME kube-apiserver 123 root 7u IPv4 26799 0t0 TCP 127.0.0.1:8080 (LISTEN)
0x04 影响版本
- kubelet/kube-proxy : v1.18.0-1.18.3
- kubelet/kube-proxy : v1.17.0-1.17.6
- kubelet/kube-proxy : <=1.16.10
0x05 修复建议
通用修补建议:
升级到如下最新版本:
- kubelet/kube-proxy master ,修复链接 https://github.com/kubernetes/kubernetes/pull/91569。
- kubelet/kube-proxy v1.18.4+ ,修复链接 https://github.com/kubernetes/kubernetes/pull/92038。
- kubelet/kube-proxy v1.17.7+ ,修复链接 https://github.com/kubernetes/kubernetes/pull/92039。
- kubelet/kube-proxy v1.16.11+ ,修复链接 https://github.com/kubernetes/kubernetes/pull/92040。
临时修补建议:
- 官方建议通过在节点上手动添加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服务器的不安全端口,可以将–insecure-port=0添加到kubernetes API服务器命令行来禁用端口。
0x06 相关空间测绘数据
360安全大脑-Quake网络空间测绘系统通过对全网资产测绘,发现Kubernetes在 国外 有广泛使用,具体分布如下图所示。
0x07 产品侧解决方案
360城市级网络安全监测服务
360安全大脑的QUAKE资产测绘平台通过资产测绘技术手段,对该类漏洞进行监测,请用户联系相关产品区域负责人获取对应产品。
0x08 时间线
2020-07-08 Kubernetes官方发布通告
2020-07-10 360CERT发布通告
发表评论
您还未登录,请先登录。
登录