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. Zabbix之设置监控主机某个端口并发送邮件告警

    Zabbix可以配置监控主机的某个端口在该端口down之后触发发送告警邮件 一,添加监控项 选择主机 监控项 创建监控项 查看监控图形 二,设置触发器 设置触发器当该监控的端口down时可以发送告警 ...

  2. Egret入门学习日记 --- 第十篇(书中 2.9~2.13节 内容)

    第十篇(书中 2.9~2.13节 内容) 好的 2.9节 开始! 总结一下重点: 1.之前通过 ImageLoader 类加载图片的方式,改成了 RES.getResByUrl 的方式. 跟着做: 重 ...

  3. Docker容器中用户权限管理

    在Linux系统中有一部分知识非常重要,就是关于权限的管理控制:Linux系统的权限管理是由uid和gid负责,Linux系统会检查创建进程的uid和gid,以确定它是否有足够的权限修改文件,而非是通 ...

  4. 遵循统一的机器学习框架理解高斯混合模型(GMM)

    遵循统一的机器学习框架理解高斯混合模型(GMM) 一.前言 我的博客仅记录我的观点和思考过程.欢迎大家指出我思考的盲点,更希望大家能有自己的理解. 本文参考了网络上诸多资料,特别是B站UPshuhua ...

  5. Windows 10系统永久关闭Windows Defender Antivirus防病毒程序方法

    Win + R 键运行 gpedit.msc 找到 计算机配置 -> 管理模板 -> Windows 组件 -> Windows Defender 防病毒程序 右边双击 “关闭Win ...

  6. MySQL的数据库时间与电脑系统时间不一致

    问题描述 在开发的过程中遇到数据库的时间与电脑本身的系统时间不一致的状态. 首先查看数据库的时间是多少 select now(); select sysdate(); 执行上面的两个sql语句,看数据 ...

  7. [转帖]详解JVM内存布局及GC原理,值得收藏

    概述 https://www.toutiao.com/i6731345429574713868/ java发展历史上出现过很多垃圾回收器,各有各的适应场景,不仅仅是开发,作为运维也需要对这方面有一定的 ...

  8. pythn print格式化输出:%s与%d

    pythn print格式化输出. %r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户显示输出的. 1. 打印字符串 print (" ...

  9. 模块 json 和 pickle

    目录 序列化 json 和 pickle 模块 序列化 序列:字符串 序列化:将其它数据类型转换成字符串的过程. 反序列化:字符串转成其它数据类型. 序列化的目的 1:以某种存储形式使用自定义对象持久 ...

  10. 利用sort对结构体进行排序

    我定义了一个学生类型的结构体来演示sort排序对结构体排序的用法 具体用法看代码 #include<iostream> #include<string> #include< ...