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

漏洞详情:

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

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

#Ubuntu 16.04版本
runc-version

在这里插入图片描述

修复方法

方法一:新建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
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值