长 亭 漏 洞 预 警
Kubernetes 权限提升漏洞
事件来源
Kubernetes(常简称为 K8s)是用于自动部署、扩展和管理容器化应用程序的开源系统。它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。它支持一系列容器工具, 包括Docker等。
OpenShift 是由 redhat 推出的 PaaS 云计算平台,供用户创建网络应用(App、网站)。Openshift 底层以 Docker 作为容器引擎驱动,以 Kubernetes 作为容器编排引擎组件。
漏洞描述
任何能够通过 Kubernetes API server 与后端服务器建立连接的用户,可以在保持连接不断开的基础上,进一步利用 Kubernetes API server 已经授权的 TLS 凭证,发送被授权的任意请求,从而造成权限提升甚至更大的危害。攻击者只要保证该聚合 API 服务器在 Kubernetes API server 的网络中被允许即可。而在默认情况下,所有的用户都可以在没有限制的情况下完成以上攻击。
任何拥有 pod exec/attach/portforward 权限的普通用户,可以获得运行在当前 pod 中任意计算节点的集群管理员权限,从而能够访问所有隐私数据、在这些 pod 中执行命令等。
该漏洞由 Rancher Labs 的首席架构师兼联合创始人 Darren Shepherd 发现。漏洞严重程度被定义为 9.8 ,属于非常严重的漏洞(满分为 10)。
原因如下:
未授权的访问请求不会出现在 Kubernetes API 服务器的审计日志或服务器日志当中,只在 kublet 或 聚合 API 服务器日志中可见。而在聚合 API 服务器中,很难把这些未授权的访问请求和正常的访问请求区分开来。
影响范围
Kubernetes
Kubernetes
Kubernetes
Kubernetes
以及其他所有基于 Kubernetes 的产品、服务等(如 OpenShift)。
解决方案
立即更新 Kubernetes 至 v1.10.11、v1.11.5,v1.12.3 和 v1.13.0-rc.1 的任意一个版本。
参考资料
https://access.redhat.com/security/vulnerabilities/3716411
https://github.com/kubernetes/kubernetes/issues/71411
领取专属 10元无门槛券
私享最新 技术干货