开源容器化应用 Kubernetes 被曝严重的路径遍历漏洞
编译:代码卫士团队
开源的容器化应用 Kubernetes 中被曝存在一个严重的漏洞,可导致路径遍历和任意代码执行后果。
去年,Kubernetes 和 RedHat 使用 Kurbernets出品的容器应用平台OpenShift 的开发人员修复了一个路径遍历漏洞 (CVE-2018-1002100),它可被用于在含有恶意容器的系统中在任意路径中写入任意文件。
窃取用户敏感信息
容器安全公司 Twistlock 的研究人员发现这个修复方案并不完整,并证实了攻击的可能性仍然存在。于是该漏洞获得新的 CVE 编号 CVE-2019-1002101,而且 Kubernetes 开发人员发布了版本 1.11.9、1.12.7、1.13.5 和 1.14.0 解决被评为“高危”级别的这个漏洞。
这两个漏洞均和在 Kubernetes 集群中运行命令的一个命令行接口 Kubectl 有关。具体而言,这个问题涉及用于在容器和用户机器之间复制文件的 cp 命令。在复制进程中,容器内部被创建了一个 tar。它被通过网络复制,之后由用户设备上的 kubectl 解压。
然而,如果攻击者能够将恶意 tar 二进制植入容器中,就能在使用 Kubectl cp 命令时利用这些缺陷将任意文件写入系统上的任意位置。
Twistlock 公司的研究人员解释称,攻击者能够利用这个目录遍历漏洞从 Kubectl 用户设备中窃取潜在的敏感信息,而用户基本上是开发人员、管理员或 DevOps 团队的成员。
任意代码执行并非易事
虽然也有可能在系统上执行任意代码,但它取决于 Kubectl 具有的权限级别。如果它以 root 权限运行,那么攻击者能够轻易修改当系统启动时所执行的配置或系统文件。
由于 Kubectl 通常以用户权限运行,因此执行任意代码可能并不容易。然而,Twistlock 公司的专家说明了一种可用于多种场景中的简单的攻击方法。
研究员 Ariel Zelivansky 表示,“这个漏洞在任意一种场景下都是危险的:(1)用户在不知情的情况下下载了具有恶意 tar 的恶意容器图像。攻击者能够将这类图像推送到任何受控制或通过误植域名实现的流行图像的注册表(如 Docker Hub)中。(2)攻击者通过利用另外一个漏洞攻陷正在运行的容器或者在某些情况下可能具有对容器的合法访问权限。攻击者随后植入恶意 tar 以替代图像的原始 tar。”
Zelivansky 表示,“复杂的攻击者也将通过使恶意 tar 包含输出中的原始请求文件的方式进行利用,或者使 symlink 文件包含 dotfile 的方式进行利用,这样攻击不会立即被发现。”
亚马逊 Web Services (AWS) 也发布了安全通告,说明了该漏洞及另外一个严重程度较低的 Kurbenetes 漏洞的情况。
推荐阅读
原文链接
https://www.securityweek.com/serious-path-traversal-flaw-found-kubernetes
本文由代码卫士编译,不代表其观点,转载请注明“转自代码卫士 www.codesafe.cn”。
代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。