CVE-2020-8554:Kubernetes中间人攻击漏洞 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

CVE-2020-8554:Kubernetes中间人攻击漏洞

ang010ela 漏洞 2020-12-27 10:20:00
414994
收藏

导语:本文对Kubernetes中间人攻击漏洞CVE-2020-8554 进行分析。

12月4日,Kubernetes 产品安全委员会公开了一个新的Kubernetes漏洞——CVE-2020-8554。该漏洞是中危漏洞,影响所有的Kubernetes 版本,而且目前仍然没有修复。

漏洞分析

CVE-2020-8554漏洞是Kubernetes服务中External IPs和 Load Balancer IPs 2个特征中的设计漏洞。Kubernetes服务是一种将运行在pod集上的应用以网络服务的形式暴露。一个服务会暴露给一个或多个IP。一旦部署,集群中的节点就会将到服务IP的流量路由到提供该服务的后端pod。

当集群管理和分配服务IP时,一切正常。但是如果Kubernetes 用户能够为其服务分配任意IP时就会出现问题。在这种情况下,恶意用户可以分配一个其他终端已经使用的IP 地址,拦截所有到该IP的集群流量。控制服务IP的方法一共有2种:

分配一个外部IP地址。

通过修复status.loadBalancer.ingress.ip 域名分配一个Load Balancer IP。该方法要求有补丁服务/状态权限。

下面是部署到集群后,拦截所有到IP地址8.8.8.8的DNS流量并路由到恶意DNS服务器pod的服务。

This shows a service that, when deployed to the cluster, will intercept all cluster DNS traffic to IP 8.8.8.8 (Google's DNS server) and route it to the evil-dns-server pod.

图1. 滥用外部IP来拦截到8.8.8.8的DNS流量的服务

为了接收拦截的流量,攻击者必须控制支持恶意服务的终端。在大多数情况下是一个pod,与上面例子中的恶意DNS服务器pod一样。此外,外部终端也可以支持这样的服务,也就是说攻击者可以将拦截的流量路由到集群意外的外部终端。但这要求攻击者创建一个指向外部地址的Kubernetes终端,也就是说需要创建endpoint 权限。

受影响的产品

该漏洞影响所有的Kubernetes 版本,而且目前仍然没有修复。满足以下条件的集群会受到该漏洞的影响:

· 允许非admin Kubernetes用户创建或更新服务,或对服务状态打补丁;

· 允许非特权用户控制pod,包括创建、更新和执行;

· 允许非特权用户创建或更新终端。

此外,多租户集群是最危险的,因为其最有可能实现以上有漏洞的配置。多租户集群一般使用Kubernetes 命名空间来分割租户,限制每个租户对其命名空间的权限。但只要有一个租户可以管理自己命名空间中的服务和pod,就可以利用CVE-2020-8554 漏洞来窃取整个集群的流量。因此,攻击者可以入侵其中一个租户来利用该漏洞来拦截其他租户的流量。

缓解措施

Kubernetes产品安全委员会认为,在不对Kubernetes 用户功能特征做出修改的情况下是不可能修复该漏洞的。因此,建议限制对这些有漏洞的特征的访问来预防漏洞利用。委员会为External IP的使用提供了2个解决方案:定制的Admission Controller 和OPA Gatekeeper 限制。但是对Load Balancer IP 目前还没有解决方案。

总结

CVE-2020-8554是Kubernetes 服务中的一个设计漏洞。如果集群是多租户的,那么非特权用户也可以创建和更新服务。虽然漏洞目前还没有修复,Kubernetes产品安全委员会也给出了有效的缓解措施。

本文翻译自:https://unit42.paloaltonetworks.com/cve-2020-8554/如若转载,请注明原文地址:
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务