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

kubectl cp漏洞CVE-2019-1002101分析

Kube-proxy IPVS添加flag ipvs-strict-arp

近期bug fix数据分析

——本期更新内容

kubectl cp漏洞

近期kubernetes的kubectl cp命令发现安全问题(CVE-2019-1002101),该问题严重程度比较高,建议将kubectl升级到Kubernetes 1.11.9,1.12.7,1.13.5或1.14.0版本以解决此问题。

kubectl cp命令允许用户在容器和主机之间复制文件,其基本原理是:

在源地址将文件打包。

打包输出内容作为stream流通过网络传递给目标地址。

传递路径包括:apiserver、kubelet、runtime

stream流在目的地址作为tar的输入,解压。

具体执行过程可以参考kubernetes/pkg/kubectl/cmd/cp.go文件中的copyToPod和copyFromPod两个函数。

在这个过程中,如果容器中的tar二进制文件是恶意的,它可以运行任何代码并输出意外的恶意结果。当调用kubectl cp时,***者可以使用它将文件写入用户计算机上的任何路径,仅受本地用户的系统权限限制。

目前社区在1.11-1.14版本均修复了该问题,具体修复方式可参考:

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

用户可以通过kubectl version --client命令查看自己使用的kubectl版本,并升级到1.11.9,1.12.7,1.13.5或1.14.0版本以修复该漏洞。

Kube-proxy IPVS添加flag ipvs-strict-arp

首先了解些背景知识。

kube-proxy的ipvs模式会将clusterIP/externalIP等绑定到节点上名为kube-ipvs0的dummy设备,以确保节点上的ipvs规则可以对访问这些地址的流量作转发。

在1.13版本中,引入一个操作

echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

以禁止IPVS模式下对kube-ipvs0 dummy设备上绑定的ip的ARP回复,具体可参考pr #70530,该改动是为了修复ipvs模式下load banlancer类型service不能正常使用的问题(issue:#59976)。

而本次的buf fix则是跟前面的改动有关,因为前面的改动虽然解决了loadbalancer的问题,但是又引入了其他问题:有些CNI插件在主机和容器间的连接会用到ARP协议。因此我们看到有些用户升级到1.13后反馈下面的问题:

issue#72779:kube-proxy v1.13.0 and 1.13.1 brokes services with externalIPs

issue#71555:kube-proxy/IPVS: arpignore and arpannounce break some CNI plugins

而本bug fix也很简单,就是为kube-proxy加了一个启动参数ipvs-strict-arp,默认为0,即不改变节点上的ARP配置,如果需要改变,则设置该参数值为1。

不得不说,这只是一个规避方案,无论是否使用该参数,kube-proxy ipvs模式下总有一部分功能受影响。

但是IPVS模式本身就有它独特的优势,是iptables所没有的,在这些优势的基础上,一定要ipvs实现原来iptables实现的所有功能似乎也不太合理。

近期bug fix数据分析

近期在我们关注的1.13版本(1.13.5之后)没有比较重要的bug fix发布,为数不多的几条也都是集群部署、第三方云提供商、e2e测试相关,不需要太多关注。

前文提到的CVE-2019-1002101漏洞也是在1.13.5版本之前已经修复的,上次的bug fix已经覆盖到,大家如果有兴趣深入研究的话可以根据本文提供的pr链接学习。

最后我们看下具体数据:


如下为所有bug fix的汇总信息:


相关服务请访问:https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019

原文地址:https://blog.51cto.com/14051317/2380331

时间: 2024-11-05 18:25:19

【独家】K8S漏洞报告 | CVE-2019-1002101解读的相关文章

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

安全漏洞CVE-2019-1002100 3月2日,kubernetes社区公布了一个中等程度的安全漏洞CVE-2019-1002100. 该漏洞最早由Carl Henrik Lunde发现,并于2月25日在kubernetes发布issue(#74534).根据描述,具有patch权限的用户可以通过发送一个精心构造的patch请求来消耗apiserver的资源,最终会导致apiserver无法响应其他请求. 具体被构造的请求是一个json-patch类型的patch请求,比如kubectl p

吐槽国内各大公司的漏洞报告平台

现在国内众测平台,越来越多.乌云,估计大家都知道,一提到漏洞平台,差不多瞬间想到的就是乌云吧,其他的也不是,威客众测,补天,TSRC,ASRC,BSRC.Sebug感觉现在都不行了,负面新闻太多了. 现在火的,估计也就是乌云,乌云核心白帽子多,粉多,喷子也多,所以就一直火.威客众测也不错,提交漏洞,还可以赚钱,还合法. 国内外有哪些漏洞信息发布平台? 高质量,更新及时,反应迅速的那种 比如:exploits-db.cve和赛门铁壳安全中心 或者说像乌云之类的安全应急响应平台 国内的主要包括: C

教育行业漏洞报告平台(Beta)数据爬取分析

解决问题 对教育漏洞提交平台的漏洞相关数据进行分析. 内容与要求 爬取网站提交的漏洞的相关信息,对每年漏洞数量,漏洞类型变化,漏洞类型比例,提交漏洞排名,存在漏洞数最多等方面进行统计分析,并可视化 使用工具 Requests 用于爬取页面 BeautifulSoup用于页面分析 Pandas用于数据分析 Time 用于爬取时进度条显示进度 tqdm用于爬取时进度条显示进度 matplotlib用于数据可视化,绘制统计图 wordcloud 用于数据可视化,绘制云图 爬取数据 网站分析 1.网站为

系统被入侵或收到漏洞报告才去事后补救的方式已然过时

道高一尺,魔高一丈,黑客攻击技术与手法层出不穷,以往的不重视产品自身安全而寄希望于安全防御手段的方式总是疲于应对,处于被动挨打的局面.过去这种在产品设计开发过程中不重视安全,直到收到漏洞报告才去补救的方式,已经难以适应新的攻击形式,比如:同样的漏洞重复出现.低级配置错误.人为设置弱口令等场景屡见不鲜. 只有从设计.开发.部署.运维这些阶段启用安全流程,并借助安全工具和漏洞检测技术提前发现风险,将风险消除在萌芽状态,从源头提高产品的安全性才能最大程度上降低产品所面临的安全风险. 通过安全体系的建立

解题报告 smoj 2019初二创新班(2019.3.17)

目录 解题报告 smoj 2019初二创新班(2019.3.17) T1:找玩具 题目描述 题意转化 分析 代码 优化(代码复杂度) T2:闯关游戏 题目描述 分析 代码 T3:子数组有主元素 题目描述 分析 代码(\(O(nm\log n)\)) 优化 代码(\(O(nm)\)) 解题报告 smoj 2019初二创新班(2019.3.17) 时间:2019.3.21 T1:找玩具 题目描述 在游戏开始之前,游戏大师在房间的某些地方隐藏了N个玩具.玩具编号为1到N.您的任务是尽可能多地找到这些玩

爬虫练习之爬取绿盟漏洞报告的标题与地址

#coding:utf-8 # 作者@in2 #抓取完之后,将页面的编码调整为utf-8即可:) import urllib2,bs4 from bs4 import BeautifulSoup #导入相关模块 h = open('CVE.html','w') #打开CVE.html文件,不存在的话自动新建一个 for pages in range(1,30246): #取页数1到30246 strpage = str(pages) print "当前是第" + strpage +&q

SoYun社工库最新源码以及审计出的漏洞报告信息

本文作者:浅蓝 前段时间有人发过搜云的源码,都好长时间了. 这次我放出个最新的. 是在他换模板之前的源码.(现在的搜云后端基本没什么变化 换了个模板而已) 同时审计出来了一些漏洞.. 我里面的数据库配置信息等重要敏感信息换成了"马赛克" 以下附上审计出的漏洞 1.user.ph#sql注入 265行 $card = $_POST['card']; if ($_POST['card']) {     $sql = "select * from alipay where card

解题报告 smoj 2019初二创新班(2019.3.31)

目录 T1:单人游戏 题目描述 分析 证明:游戏必定存在环 证明:以最短路径到达环必定最优 证明:移动时不可能越过环的结尾 DP实现 代码 T2:赚金币 题目描述 分析 代码 T3:抽奖 题目描述 分析 代码 时间:2019.4.5 比赛网址 T1:单人游戏 题目描述 棋盘由N个格子排成一行,从左到右编号为1到N,每个格子都有一个相关的价值. 最初,棋子位于第1个格子上,当前方向是向右的. 在每个回合中,棋子在当前方向上行走零步或多步,每一步就是走一个格子.然后在下一回合中,棋子的方向反转. 一

安徽自考漏洞报告

百度抓取到用户在报名时留下的COOK值. 出现这种情况怎么办呢, 就是禁用JS 让他不谈JS出来就行了,.! OVER