上QQ阅读APP看书,第一时间看更新
4.3 针对Kubernetes权限提升的攻击案例
CVE-2018-1002105是一个Kubernetes的权限提升漏洞,允许攻击者在拥有集群内低权限的情况下提升权限至Kubernetes API Server权限,CVSS 3.x评分为9.8。所有低于v1.10.11、v1.11.5和v1.12.3版本的Kubernetes均受到影响。该漏洞由Rancher Labs首席架构师Darren Shepherd提交。漏洞的发现过程比较有趣,Darren Shepherd专门写了一篇文章[1]来讲述这段经历和漏洞的形成原因,感兴趣的读者可以阅读了解一下。
简单来说,通过构造一个特殊的请求,攻击者能够借助Kubernetes API Server作为代理,建立一个到后端服务器的连接,进而以Kubernetes API Server的身份向后端服务器发送任意请求,实质上就是权限提升。
在多数环境下,为了成功利用漏洞,攻击者本身需要具备一定的权限,如对集群内一个Pod的exec、attach权限。然而,在集群中存在其他扩展API Server(如metrics-server)的情况下,只要允许匿名访问集群,攻击者就可能以匿名用户的身份完成漏洞利用。
下面,我们首先给出理解该漏洞所必要的背景知识,然后对漏洞进行分析,接着进行漏洞复现实战[2],最后给出漏洞的修复情况。
[1] https://rancher.com/blog/2018/2018-12-04-k8s-cve/。
[2] 本节的随书代码仓库路径:https://github.com/brant-ruan/cloud-native-security-book/tree/main/code/0403-CVE-2018-1002105。