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汇总

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

1.11.3重要bug fix解读

K8S漏洞报告 | 近期bug fix解读&1.13主要bug fix汇总的更多相关文章

  1. 【独家】K8S漏洞报告|近期bug fix解读&1.11主要bug fix汇总

    内容提要: 1. 高危漏洞CVE-2018-1002105深度解读 2. 11/19--12/11 bug fix汇总分析 3. 1.11重要bug fix解读 4. 1.9重要bug fix解读 在 ...

  2. 【独家】K8S漏洞报告 | 近期bug fix解读

    安全漏洞CVE-2019-3874分析 Kubernetes近期重要bug fix分析 Kubernetes v1.13.5 bug fix数据分析 ——本周更新内容 安全漏洞CVE-2019-387 ...

  3. 【独家】K8S漏洞报告 | 近期bug fix解读&1.9.11主要bug fix汇总

    *内容提要: 1. Kube-proxy长连接优雅断开机制及IPVS模式实现 2. 10/29--11/19 bug fix汇总分析 3. 1.9.11重要bug fix汇总 在本周的跟踪分析中,以1 ...

  4. 【独家】K8S漏洞报告 | CVE-2019-1002101解读

    kubectl cp漏洞CVE-2019-1002101分析 Kube-proxy IPVS添加flag ipvs-strict-arp 近期bug fix数据分析 ——本期更新内容 kubectl ...

  5. 【代码审计】ESPCMSP8(易思企业建站管理系统)漏洞报告

    0x00简介 项目名称:ESPCMS-P8(易思企业建站管理系统) 测试平台:Windwos 版本信息:P8.19082801稳定版 更新时间:2019-08-30 00:56:32 网站官网:htt ...

  6. 最常见的安全漏洞– Acunetix Web应用程序漏洞报告2021

    每年,Acunetix都会为您提供最常见的Web安全漏洞和网络外围漏洞的分析.我们的年度Web应用程序漏洞报告(现已成为Invicti AppSec指标的一部分)是基于从Acunetix在线获得的真实 ...

  7. Bug预防体系(上千bug分析后总结的最佳实践)

    Bug预防体系(上千bug分析后总结的最佳实践) 原创 2017-08-16俞美玲 光荣之路 吴老的<selenium webdriver 实战宝典>出版了!  web常见产品问题及预防 ...

  8. 解Bug之路-TCP粘包Bug

    解Bug之路-TCP粘包Bug - 无毁的湖光-Al的个人空间 - 开源中国 https://my.oschina.net/alchemystar/blog/880659 解Bug之路-TCP粘包Bu ...

  9. vue & lifecycle methods & this bug & ES6 Arrow function & this bind bug

    vue & lifecycle methods & this bug ES6 Arrow function & this bind bug bad fetchTableData ...

随机推荐

  1. destoon 6.0 手机站支持在所有浏览器访问

    我们的在本地调试destoon 6.0的手机站模板时,用浏览器的自带审查元素很不方便. 可是destoon 默认是在电脑端打不开手机站,如果这个设置能够去除掉,那就可以了. 去掉这个限制,指需要两步 ...

  2. kubespray部署k8s

    0.把外网的/usr/local/bin/*拷过来覆盖 1.把部署好的集群的 calicoctl cni-plugins-linux-amd64-v0.8.1.tgz kubeadm-v1.16.3- ...

  3. input文本框禁用历史选择

    这里常用的场景是日期控件使用时,下面这个就很难看了 在input中添加autocomplete="off"就可以了 <input type="text" ...

  4. Anaconda是什么?Anconda下载安装教程(1)

    一.如果从事Python开发,配置环境需要安装两个包: 第一个安装开发工具,俗称IDE : 推荐使用 Pycharm 第二个安装开发工具包: Anaconda ps:Windows 下 Pycharm ...

  5. qt qml中的Tabview使用心得

    彩云之南的天是如此湛蓝,天上落下的水是如此清澈. 最近在qt5.5下使用TabView,如下. 1) currentIndex变量很好用,其对应当前被显示的tab,其值变化时还会触发onCurrent ...

  6. ThreadLocal内存泄漏真因探究(转)

    出处: 链接:https://www.jianshu.com/p/a1cd61fa22da ThreadLocal原理回顾 ThreadLocal的原理:每个Thread内部维护着一个ThreadLo ...

  7. go 函数 命名返回值

    Go 的返回值可以被命名,并且像变量那样使用. 返回值的名称应当具有一定的意义,可以作为文档使用. 没有参数的 return 语句返回结果的当前值.也就是`直接`返回. 直接返回语句仅应当用在像下面这 ...

  8. 【C#】上机实验一

    1.开发一个控制台应用程序,根据提示从键盘获取一个华氏温度,请转换并输出对应的摄氏温度. using System; namespace Project { class Program { publi ...

  9. 【规律】Cunning Friends

    Cunning Friends 题目描述 Anthony and his friends Ben and Chris decided to play a game. They have N piles ...

  10. 移动构造函数应用最多的地方就是STL中(原文详解移动构造函数)

    移动构造函数应用最多的地方就是STL中 给出一个代码,大家自行验证使用move和不适用move的区别吧 #include <iostream> #include <cstring&g ...