Kubernetes 权限提升误差清静通告

宣布时间 2018-12-06

误差编号和级别


CVE编号:CVE-2018-1002105 ,危险级别:严重 ,CVSS分值:厂商自评 9.8 ,官方未评定


影响版本


Kubernetes < v1.0.x-1.9.x

Kubernetes < v1.10.0-1.10.10 (fixed in v1.10.11)

Kubernetes < v1.11.0-1.11.4 (fixed in v1.11.5)

Kubernetes < v1.12.0-1.12.2 (fixed in v1.12.3)

以及其他所有基于 Kubernetes 的产品、服务等(如 OpenShift) 。


误差概述


12月3日 ,redhat 官方宣布清静通告 ,指出 Kubernetes (K8s)保存一个严重的权限提升误差(CVE-2018-1002105) ,所有基于 Kubernetes 的服务和产品 ,包括 redhat OpenShift Container Platform ,Red Hat OpenShift Online 和 Red Hat OpenShift Dedicated 都受到了影响 。


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 服务器中 ,很难把这些未授权的会见请求和正常的会见请求区脱离来 。


误差验证


暂无POC/EXP 。


修复建议


连忙更新 Kubernetes 至 v1.10.11、v1.11.5 ,v1.12.3 和 v1.13.0-rc.1 的恣意一个版本 。


参考链接


https://access.redhat.com/security/cve/cve-2018-1002105

https://access.redhat.com/security/vulnerabilities/3716411

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