Kubernetes 最近公布了另一个kubectl cp 相关漏洞 CVE-2019-11246 ,此漏洞可能允许攻击者利用kubectl cp命令,采用路径遍历(Path Traversal)的方式将容器tar包中的恶意文件写入所在主机上的任何路径,该过程仅受本地用户的系统权限限制。 详细信息请参见Kubernetes披露

背景信息

该漏洞与不久前的CVE-2019-1002101漏洞影响相似,由于之前的相关漏洞修复

kubectl cp命令用于用户容器和主机之间的文件拷贝,当从容器中拷贝文件时,Kubernetes 会首先在容器中执行tar命令创建相应的归档文件,然后发送给客户端,kubectl会在用户主机上进行相应解压操作。

如果容器tar包中包含恶意文件,当攻击者具有kubectl cp命令的执行权限时,可以利用路径遍历(Path Traversal

官方修复pr请参见 https://github.com/kubernetes/kubernetes/pull/76788

影响范围

  • kubectl v1.11.x 及以前版本
  • kubectl v1.12.1-v1.12.8(fixed in v1.12.9)
  • kubectl v1.13.1-v1.13.5(fixed in v1.13.6)
  • kubectl v1.14.1(fixed in v1.14.2)
说明 您可以通过运行kubectl version --client命令,来查看 kubectl 版本。

解决方案

通过升级kubectl 的版本来修复该漏洞。请参考安装 Kubectl,升级kubectl客户端,安装成功后请再次确认客户端版本号。

  • 如果您的 kubectl 版本为1.12.x 请升级到1.12.9。
  • 如果您的 kubectl 版本为1.13.x 请升级到1.13.6。
  • 如果您的 kubectl 版本为1.14.x,请升级到1.14.2。
  • 如果您的 kubectl 版本为1.11及以下版本,请升级到1.12.9、1.13.6或1.14.2版本。