Kubernetes kubectl cp 命令中发现第三处目录遍历问题
Kubernetes 官方又发现了一处 kubectl cp 命令相关的目录遍历漏洞。
该漏洞可以使 kubectl cp 命令启用目录遍历,使得恶意容器可以替换或创建用户工作站上的文件。漏洞属于客户端缺陷,需要利用用户交互,恶意用户可能创建或覆盖 kubectl cp 操作的目标目录之外的文件。
受影响版本:
- Kubernetes 1.0.x-1.12.x
- Kubernetes 1.13.0-1.13.8
- Kubernetes 1.14.0-1.14.4
- Kubernetes 1.15.0-1.15.1
这是近段时间在 Kubernetes kubectl cp 命令中发现的第三个相关问题了,此前我们报导过这一命令漏洞:
kubectl cp 命令允许在容器和用户计算机之间复制文件。要从容器中复制文件,Kubernetes 调用容器内的`tar`二进制文件,以创建或解压 tar 包。
对 tar 的操作依赖于 CMD/CP/cp.go,其中的函数`copyFromPod`实现了从容器中复制文件的过程,它通过远程 exec(`&exec.DefaultRemoteExecutor`)调用容器中的 tar,然后在函数`untarAll`中解压用户机器上的结果。此函数使用“archive/tar” Go 包根据结果 tar 头进行 tar 解析,最后将文件写入目标目录。
这个过程中,如果容器上的`tar`二进制文件是恶意的,那么它可以运行任意代码并输出恶意结果,这将最终导致典型的目录遍历攻击,允许恶意容器在复制时将任何文件写入用户计算机上的任何路径。
虽然此前已经引入了`cp.go:clean`函数来避免这个目录遍历,但是 Ariel 发现其实可以创建和跟踪来自 tar 头的符号链接,攻击者可以制作一个恶意 tar,其中包含一个带有几乎任何路径的符号链接的头,以及一个与符号链接同名的目录内文件的后续头。当通过 cp untar 函数提取时,链接将导致在符号链接的路径中创建或修改所需文件。
此问题已经修复,kubectl cp 命令在执行 untar 过程中对所有子文件的目标路径将执行更严格的校验,禁止所有在 cp 目标路径外的解压后拷贝动作。
用户可以通过升级 kubectl 来修复该漏洞:
- kubectl 版本为 1.13.x,升级到 1.13.9。
- kubectl 版本为 1.14.x,升级到 1.14.5。
- kubectl 版本为 1.15.x,升级到 1.15.2。
- kubectl 版本为 1.12.x 及以下版本,升级到 1.13.9、1.14.5 或 1.15.2。
详情查看:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
OSChina 周五乱弹 ——不知道假装开心,装的像么
Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维:天黑了 你很忧愁, 你说世界上, 找不到四块五的妞, 行走在凌晨两点的马路上, 你疲倦地拿着半盒黄鹤楼。#今日歌曲推荐# 《四块五》- 隔壁老樊 手机党少年们想听歌,请使劲儿戳(这里) 每个月最头疼的就是还贷款的时候了, 现在这个社会, 大部分都是经济状况都是负数呢。 @clouddyy:每个月还贷款的我! 不知道现在这种情况, 未来还会更坏么。 @天天想丧:我是一个很克制的人,不想接受新的事物,也不想接触新的人,不想给人添麻烦,也不想给自己找麻烦。 我就是一个这样的人, “我希望各种麻烦都莫挨老子。” 我也不希望我的状态被别人看到, 谁也不行, @ArcticF0X:似乎一不小心就消失在朋友圈。发自拍怕被嘲,秀恩爱怕被酸,吃喝玩乐怕被老师和领导看见,加班到深夜怕父母发现。很久没有出门旅行,很久没有幸福到想呐喊的时刻,很久没有值得记录的生活碎片。有时候突发奇想点开了编辑界面,看见大大小小十几个分组,就丧失了所有分享的欲望。 对呀, 干嘛给他们伤害你的机会, 这个状态不会是抑郁症吧? @Daniel-01:其实抑郁症、躁郁...
- 下一篇
Android Q 不叫 Q,正式命名为 Android 10
根据官方博文,谷歌已经公布了 Android Q 的名称,它并不像以前一样,以甜食命名,也不是以任何以字母 Q 开头来命名,而是简单称它为 Android 10。 该公司表示,正在改变其发布版本的命名方式。该公司写道: 这些年来,我们听到的很多反馈,我们的命名并不总是被全球社会中的每个人所理解。 谷歌说,改变命名的实际原因并不是 Q 很难找到实际的甜点名称,而是甜点不是很具包容性,比如馅饼并不总是甜点,棒棒糖在某些地区很难发音。棉花糖在很多地方甚至都不算甜点。 换句话说,以前的一些 Android 版本的名字虽然名字很有趣,但它们并不能与全部用户产生共鸣,该公司认为“是时候做出这种改变了”。 谷歌表示它将在几周内正式发布,除了对Android 命名做改动之外,Android 10 中还增加了新的功能,不只是在 5 月份的谷歌 I/O 上发布的内容。它更新了移动平台的标志,它将文本从绿色改为黑色,以便于阅读,转换字体,并使用特写的机器人,现在是一种新的绿色。 Brand Bubbles 正如下面的截图中所看到的,通过主动呼叫触发Bubbles,一个小圆圈就会显示联系人的照片。在拖动 Bu...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6