Kubernetes 项目刚刚修复了一个危险的安全缺陷,可导致攻击者在主机上执行代码。该漏洞并不影响 Kubernetes 系统本身,而是影响命令行工具 kubectl(Kube 控制)。

安全研究人员在kubectl cp (copy) 操作中找到了一个安全缺陷,可用于将文件从容器中传输至用户主机。

通过“复制”操作执行代码

Kubernetes 产品安全委员会的一名成员 Joel Smith 表示,“为了从容器中复制文件,Kubernetes 在容器中运行 tar 以创建一个 tar 压缩文档,在网络中进行复制,而kubectl 在用户机器上进行解压。”

他指出,“如果容器中的 tar 二进制是恶意的,那么它就会运行任意代码并输出异常的恶意结果。攻击者可在调用 kubectl cp时将文件写入用户机器上的任意路径,仅受限于本地用户的系统权限。”

研究人员指出,利用该漏洞并不简单,因为攻击者需要首先在 Kubernetes 容器中放置恶意文件,之后等待 Kubernetes 管理员将这些文件传输至其系统。

这些恶意文件将自动执行,然而,它也依赖于运气和一点社工。

主机入侵可导致完全攻陷

尽管如此,StackRox公司的产品联合创始人兼副总裁 Wei Lien Dang 认为该漏洞非常危险。

Wei 表示,“该漏洞可导致攻击者覆写敏感文件路径或增加恶意程序文件,这些恶意程序之后将被用于攻陷 Kubernetes 环境的重要部分。”

他还指出,“这种了性的漏洞说明了客户端漏洞如何被用于攻陷生产环境,尤其是当我们看到缓解这种类型的威胁向量的最佳实践并未跟上时。例如,用户可能会在生产节点上运行 kubectl 或者并不具备适当的基于角色的访问控制限制对整个集群的访问或通过提升后的本地系统权限访问。另外,修复方案即更新至最新版本的 kubectl 很难执行,因为它取决于个人用户。”

两度打补丁

该漏洞(CVE-2019-11246) 是由 Atredis Partners 公司的 Charles Holmes 发现的,而且是由 Cloud Native Computing Foundation 资助的安全审计的一部分。

Wei 表示,“漏洞产生的原因在于,此前被披露的漏洞 (CVE-2019-1002101) 的修复方案不完整。”他指的是今年3月份发布的该漏洞的第一次补丁。Smith 表示,“这个漏洞的详情和 CVE-2019-1002101 非常类似。原始补丁不完整,因此发现俄一种新的利用方式。”

建议运行Kubernetes 程序的企业和开发人员将 kubectl 和 Kubernetes 更新至版本112.9、113.6 或114.2 或后续版本。

谷歌云 K8S 也易受攻击

谷歌云在刚刚发布的安全公告中表示,“因谷歌 Kubernetes Engine (GKE) gcloud 版本均受该漏洞影响,我们建议用户尽快更新至 gcloud 的最新打补丁版本。”

目前,补丁还未推出。

谷歌表示,“即将发布的补丁版本将包含对该漏洞的缓解措施。”谷歌建议谷歌云客户密切注意和 kubectl 相关的安全问题的工具变更日志。

原文链接

https://www.zdnet.com/article/kubernetes-cli-tool-security-flaw-lets-attackers-run-code-on-host-machine/

声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。