K8S漏洞报告 | 近期bug fix解读&1.13主要bug fix汇总

举报
云容器大未来 发表于 2019/01/25 10:05:12 2019/01/25
【摘要】 k8s近期漏洞详解

K8s近期漏洞详解


Kubernetes仪表盘漏洞(CVE-2018-18264)

因为这一漏洞,用户可以“跳过”登录过程获得仪表盘所使用的自定义TLS证书。如果您已将Kubernetes仪表盘配置为需要登录并将其配置为使用自定义TLS证书,那么这一漏洞会影响到您。


具体来说,该漏洞的运作原理是:

首先,因为登陆时用户可以选择“跳过”这一选项,那么任何用户都可以绕过登录过程,该过程在v1.10.0或更早版本中始终默认启用。这样一来,用户就完全跳过登录过程并能使用仪表盘配置的服务账户。


之后,使用仪表盘配置的服务账户,必须最低限度地有权限访问自定义TLS证书(以secret的形式存储)。未经身份验证的登录,加上仪表板使用配置的服务账户来检索这些secret的能力,组合在一起的结果就是这一安全问题。

社区已经在仪表盘v1.10.1对这个漏洞进行了修复,默认情况下将不再启用“跳过”选项,并且会禁用仪表盘在UI中检索和显示它的功能。


参考链接:


issue: 

https://github.com/kubernetes/dashboard/issues/2668


修复pr:

https://github.com/kubernetes/dashboard/pull/3289


漏洞描述:

https://nvd.nist.gov/vuln/detail/CVE-2018-18264



Kubernetes API服务器外部IP地址代理漏洞

Kubernetes API server可以使用pod、node或service代理api,将请求代理的pod或节点上,通过修改podIP或nodeIP,可以将代理请求定向到任何IP。API server总是被部署在某网络中的,利用这个漏洞就访问该网络中的任何可用IP了。


该漏洞的具体运作原理是:

通过使用Kubernetes API,用户可以使用节点代理、pod代理或服务代理API请求与pod或节点的连接。Kubernetes接受此请求,找到podIP或nodeIP的关联IP,并最终将该请求转发到该IP。这些IP通常由Kubernetes自动分配。但是,集群管理员(或具有类似“超级用户”权限的不同角色)可以更新资源的podIP或nodeIP字段以指向任意IP。


这在很大程度上不是问题,因为“普通”用户无法更改资源的podIP或nodeIP。podIP和nodeIP字段位于pod和节点资源的状态子资源中。为了更新状态子资源,必须专门授予RBAC规则。默认情况下,除了集群管理员和内部Kubernetes组件(例如kubelet、controller-manager、scheduler)之外,没有Kubernetes角色可以访问状态子资源。想要利用此漏洞,首先得拥有对集群的高级别访问权限。


但是在一些特殊场景下,比如云提供商为用户提供的kubernetes集群,API server可能和集群运行在不同的平面,集群管理员不能访问运行API server的主机。


参考链接:


修复pr: 

https://github.com/kubernetes/kubernetes/pull/71980


社区讨论: 

https://discuss.kubernetes.io/t/security-impact-of-kubernetes-api-server-external-ip-address-proxying/4072


Kubernetes-csi 日志漏洞

Kubernetes-csi(container storage interface)是kubernetes提供的一种容器存储接口,kubernetes可以与街上上运行的外部csi卷驱动程序交互,从而可以将任意存储系统暴露给自己的容器工作负载。


根据我们介绍的这个漏洞,借点上运行的kubernetes-csi sidecars,当日志级别提高到5或者更高时,会打印所有CSI RPC请求和响应的信息,其中包括请求过程中使用的secret的详细信息。这显然是不能接受的。


目前该漏洞的修复仅涉及kubernetes-csi项目维护的组件,包括:


kubernetes-csi/external-attacher: v0.4.1 and older, v1.0.0 and older


kubernetes-csi/external-provisioner: v0.4.1 and older, v1.0.0 and older


kubernetes-csi/drivers (iscsi-only): v0.4.1 and older, v1.0.1 and older



如果您正在使用上述版本,可以将组件升级到下面版本以解决这个漏洞:


kubernetes-csi/external-attacher: v0.4.2, v1.0.1


kubernetes-csi/external-provisioner: v0.4.2, v1.0.1


kubernetes-csi/drivers (iscsi-only): v0.4.2, v1.0.1


而其他csi driver提供商也应该评估是否存在相似的问题。


12/25-1/22 1.13bug fix汇总

0125_2.jpg


0125_3.jpg

12/25-1/22期间,虽然没有特别严重的bug,但是需要关注的漏洞修复比较多,且都涉及到比较核心的组件和功能。


1.11.3重要bug fix解读

0125_4.jpg



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。