当前位置:   article > 正文

Docker runC 严重安全漏洞导致容器逃逸修复方法(CVE-2019-5736 )_docker 查询runc版本

docker 查询runc版本

漏洞详情:

Docker、containerd或者其他基于runc的容器运行时存在安全漏洞,攻击者可以通过特定的容器镜像或者exec操作可以获取到宿主机的runc执行时的文件句柄并修改掉runc的二进制文件,从而获取到宿主机的root执行权限。

影响范围:

对于阿里云容器服务来说,影响范围:
Docker版本 < 18.09.2 的所有Docker Swarm集群和Kubernetes集群(不包含Serverless Kubernetes集群)
对于用户自建Docker/Kubernetes环境:
Docker版本 < 18.09.2 或者使用 runc版本 <= 1.0-rc6的环境,请自行根据厂商建议进行修复。

查询版本

注意:Centos和Ubuntu的Docker-runC 版本查询方法略有不同,可以分别通过下面的命令进行查询。

#Centos7版本
docker version
  • 1
  • 2

输入完成后会有如下的截图,注意红框部分,可以看到Docker runC的版本。
在这里插入图片描述

#Ubuntu 16.04版本
runc-version
  • 1
  • 2

在这里插入图片描述

修复方法

方法一:新建k8s 1.11或1.12集群。容器服务新创建的1.11或1.12版本的Kubernetes集群已经包含修复该漏洞的Docker版本。
方法二:升级Docker。升级已有集群的Docker到18.09.2或以上版本。该方案会导致容器和业务中断。
方法三:仅升级runc(针对Docker版本17.06)。为避免升级Docker引擎造成的业务中断,可以按照下面的操作说明,逐一进行升级。

#查询Docker runC文件存放位置,Centos7一般安装在/usr/bin/下。Ubuntu位置略有不同,为简化操作,本文以Centos7为例
which docker-runc
#执行以下命令备份原有的runc:
mv /usr/bin/docker-runc /usr/bin/docker-runc.orig.$(date -Iseconds)
#执行以下命令下载修复的runc:
curl -o /usr/bin/docker-runc -sSL https://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/runc/docker-runc-17.06-amd64
#执行以下命令设置docker-runc的可执行权限:
chmod +x /usr/bin/docker-runc
#执行以下命令测试runc版本是否已得到升级
docker version
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/818065
推荐阅读
相关标签
  

闽ICP备14008679号