【独家】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解读
在本周的跟踪分析中,以1.11版本为例,共有24条bug fix,其中8条与Kubernetes核心内容相关。
另外,近期公布了一条高危漏洞,本文会对此进行具体分析。
由于社区目前已经停止维护1.9版本,建议大家尽快升级1.11。本文也将开始持续更新1.11版本bug fix解读,并停止更新1.9。
1 严重漏洞CVE-2018-1002105
深入解读
背景
近日kubernetes被爆出高位特权升级漏洞(CVE-2018-1002105),通过特制的网络请求,任何用户都可以通过Kubernetes应用程序编程接口(API)服务器与后端服务器建立连接。一旦建立,攻击者就可以通过网络连接直接向该后端发送任意请求。
攻击步骤
具体攻击步骤如下:
发送第一个请求,通过kube-apiserver创建一个错误的websocket请求(例如请求体中缺少必要的字段),去调用kubelet的api(例如exec pod),使kubelet的api返回非101(StatusSwitchingProtocals)错误码(例如:400)。
发送第二个请求,通过kube-apiserver访问kubelet另一个越权的api(例如list pods),便可以绕过kube-apiserver的认证鉴权,获取同一个kubelet所有租户的pod信息。
攻击原理
攻击原理是:
kube-apiserver发送的websocket的请求转到kubelet,kubelet把错误信息返回给kube-apiserver后认为该请求已经结束了,因为kube-apiserver并没有判断kubelet的返回码,只做透传,kube-apiserver仍然保存着这个连接。
第二个请求,在kube-apiserver中直接复用第一个请求的连接,然后构造一个越权的api直接访问kubelet,此时kube-apiserver之前请求的长连接还在,直接透传,而kubelet认为是一个新的请求,直接响应返回结果给客户端,导致kube-apiserver中的认证鉴权失效。
修复版本
好在目前并未发现针对该漏洞的实际应用,社区也已经在所有维护的版本紧急修复了这个漏洞,包括:
| v1.10 | v1.11 | v1.12 | v1.13 |
| v1.10.11 | v1.11.5 | v1.12.3 | v1.13.0 |
具体修复方法可以参考
https://github.com/kubernetes/kubernetes/pull/71412
简单来说就是,在kube-apiserver端增加第一个请求的返回码判断逻辑,如果返回码不是101,则直接请求失败,关闭连接。
验证方法
虽然目前还没有发现针对该漏洞的应用,但是现在这个漏洞已经发布出来,很多人都掌握了这个漏洞的攻击方法,所以赶快验证下自己的环境有没有问题,有问题就赶快修复吧。
https://github.com/gravitational/cve-2018-1002105/blob/master/main.go
大家下载下来,编包,然后配置好环境上的kubeconfig文件,执行二进制,如果当前环境还有这个漏洞,则会返回:
Testing for unauthenticated access...
Testing for privilege escalation...
> API is vulnerable to CVE-2018-1002105
如果没有漏洞,执行结果中不会出现最后一行。
2 近期bug fix数据分析
本周更新近期(11/9-12/11)1.11版本的bug-fix数据及分析。
在关注的时间段内,1.11版本有24条bug-fix,其分布情况如图所示:
从上图可以看出,这段时间更新的bug fix干货满满,apiserver相关的就有4条,另外还有kubelet/scheduler/controller等核心组件相关内容。
从严重程度来看,除了前文提到的高危漏洞外,还有8条比较严重的bug fix,需要大家重点关注。
Bug fix严重程度统计,2及以下的bug fix有15个,严重程度为3的bug fix有8个,需要重点关注。
3 1.11重要bug fix解读
由于社区目前已停止维护1.9和1.10版本,建议大家尽快升级到1.11版本,本周也将开始更新1.11版本bug fix解读。
1.11.1版本重要bug fix解读信息:
4 1.9 重要bug fix解读
1.9.9-1.9.10重要bug fix解读:
【独家】K8S漏洞报告|近期bug fix解读&1.11主要bug fix汇总的更多相关文章
- 【独家】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 ...
- K8S漏洞报告 | 近期bug fix解读&1.13主要bug fix汇总
K8s近期漏洞详解 Kubernetes仪表盘漏洞(CVE-2018-18264) 因为这一漏洞,用户可以“跳过”登录过程获得仪表盘所使用的自定义TLS证书.如果您已将Kubernetes仪表盘配置为 ...
- 【独家】K8S漏洞报告 | 近期bug fix解读
安全漏洞CVE-2019-3874分析 Kubernetes近期重要bug fix分析 Kubernetes v1.13.5 bug fix数据分析 ——本周更新内容 安全漏洞CVE-2019-387 ...
- 【独家】K8S漏洞报告 | CVE-2019-1002101解读
kubectl cp漏洞CVE-2019-1002101分析 Kube-proxy IPVS添加flag ipvs-strict-arp 近期bug fix数据分析 ——本期更新内容 kubectl ...
- 【代码审计】ESPCMSP8(易思企业建站管理系统)漏洞报告
0x00简介 项目名称:ESPCMS-P8(易思企业建站管理系统) 测试平台:Windwos 版本信息:P8.19082801稳定版 更新时间:2019-08-30 00:56:32 网站官网:htt ...
- 最常见的安全漏洞– Acunetix Web应用程序漏洞报告2021
每年,Acunetix都会为您提供最常见的Web安全漏洞和网络外围漏洞的分析.我们的年度Web应用程序漏洞报告(现已成为Invicti AppSec指标的一部分)是基于从Acunetix在线获得的真实 ...
- Bug预防体系(上千bug分析后总结的最佳实践)
Bug预防体系(上千bug分析后总结的最佳实践) 原创 2017-08-16俞美玲 光荣之路 吴老的<selenium webdriver 实战宝典>出版了! web常见产品问题及预防 ...
- 解Bug之路-TCP粘包Bug
解Bug之路-TCP粘包Bug - 无毁的湖光-Al的个人空间 - 开源中国 https://my.oschina.net/alchemystar/blog/880659 解Bug之路-TCP粘包Bu ...
- vue & lifecycle methods & this bug & ES6 Arrow function & this bind bug
vue & lifecycle methods & this bug ES6 Arrow function & this bind bug bad fetchTableData ...
随机推荐
- ESXI6.0新添加硬盘未能格式化成功
最近练手,手头现有的硬盘是从其他机器上拆下来的,插入ESXI主机上,然后在系统配置硬盘的时候,不能格式化 报错 提示如下错误:"在ESXi"xxx.xxx.xxx.xxx" ...
- November 05th, 2017 Week 45th Sunday
Do not pray for an easy life, pray for the strength to endure a difficult one. 不要祈求安逸的人生,祈求拥有撑过艰难的力量 ...
- csrf在web网站中有多重要
小弟是学python的,今天在上网时看到一个商城网站,正好昨天学到了CSRF跨站请求,就对这个商城网站进行了一波测试 可以看到网页布局做的还是很不错的,然后进入了注册页面看看 之后就开始测试了 正常请 ...
- HTML5新特性postMessage解决跨域
window.postMessage的功能是允许程序员跨域在两个窗口/frames间发送数据信息.基本上,它就像是跨域的AJAX,但不是浏览器跟服务器之间交互,而是在两个客户端之间通信.让我们来看一下 ...
- 1036. [ZJOI2008]树的统计【树链剖分】
Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成 一些操作: I. CHANGE u t : 把结点u的权值改为t II. ...
- 连接远程数据库ORACLE11g,错误百出!
客户机中PLSQL DEV访问虚拟机中的ORACLE11g,错误百出! 创建时间: 2017/10/14 18:44 作者: CNSIMO 标签: ORACLE 忙了一下午,只有两个字形容:麻烦! ...
- Android 关于Activity的四种启动模式的简单介绍
Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standar ...
- php实现远程网络文件下载到服务器指定目录(方法一)
PHP实现远程网络文件下载到服务器指定目录(方法一) <?php function getFile($url, $save_dir = '', $filename = '', $type = 0 ...
- array_sum(),array_product()的使用
这两个函数在你处理数据的时候,相信会很有用处. 一个是处理数组所有值的和,一个是所有值的乘积.写这个随笔就是强调下,有特殊的情况需要注意,以防以后的工作中,统计的时候出现错误. 举个例子: $a = ...
- 创世纪 BZOJ3037 & [Poi2004]SZP BZOJ2068
分析: 树形DP中的一种,基环树DP 针对每一个环跑DP,f[i],g[i]分别表示选或者不选,之后我们注意每次遍历的时候,不要重复遍历. 附上代码: #include <cstdio> ...