runC爆严重漏洞影响Kubernetes、Docker,阿里云修复runC漏洞的公告

runC 是 Docker,Kubernetes 等依赖容器的应用程序的底层容器运行时。此次爆出的严重安全漏洞可使攻击者以 root 身份在主机上执行任何命令。


容器的安全性一直是容器技术的一个短板。关于容器最大的安全隐患是攻击者可以使用恶意程序感染容器,更严重时可以攻击主机系统。


2019年2月11日,研究人员通过oss-security邮件列表

https://www.openwall.com/lists/oss-security/2019/02/11/2 

披露了runc容器逃逸漏洞的详情,根据OpenWall的规定EXP将在2019年2月18日公开。


2月12日,阿里云文档中心已经发布《修复runc漏洞CVE-2019-5736的公告》。

https://help.aliyun.com/document_detail/107320.html

阿里云容器服务已修复runc漏洞CVE-2019-5736。以下介绍该漏洞的影响范围及解决方法。


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


解决办法


  • 新建Kubernetes1.11或1.12集群。容器服务新创建的1.11或1.12版本的Kubernetes集群已经包含修复该漏洞的Docker版本。

  • 升级Docker。升级已有集群的Docker到18.09.2或以上版本。该方案会导致容器和业务中断。

  • 仅升级runc(针对Docker版本17.06)。为避免升级Docker引擎造成的业务中断,可以按照以下步骤,逐一升级集群节点上的runc二进制。


1.执行以下命令定位docker-runc。docker-runc通常位于/usr/bin/docker-runc路径下。

which docker-runc


2.执行以下命令备份原有的runc:

mv /usr/bin/docker-runc /usr/bin/docker-runc.orig.$(date -Iseconds)


3.执行以下命令下载修复的runc:

curl -o /usr/bin/docker-runc -sSL https://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/runc/docker-runc-17.06-amd64


4.执行以下命令设置docker-runc的可执行权限:

chmod +x /usr/bin/docker-runc


5.执行以下命令测试runc是否可以正常工作:

docker-runc -v

# runc version 1.0.0-rc3

#commit: fc48a25bde6fb041aae0977111ad8141ff396438

# spec: 1.0.0-rc5

docker run -it --rm ubuntu echo OK


6.如果是Kubernetes集群中的GPU节点,还需要完成以下步骤额外安装下nvidia-runtime。


a.执行以下命令定位nvidia-container-runtime。nvidia-container-runtime通常位于/usr/bin/nvidia-container-runtime路径下。

which nvidia-container-runtime


b.执行以下命令备份原有的nvidia-container-runtime:

mv 

/usr/bin/nvidia-container-runtime 

/usr/bin/nvidia-container-runtime.orig.$(date -Iseconds)


c.执行以下命令下载修复的nvidia-container-runtime:

curl -o /usr/bin/nvidia-container-runtime -sSL https://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/runc/nvidia-container-runtime-17.06-amd64


d.执行以下命令设置nvidia-container-runtime的可执行权限:

chmod +x /usr/bin/nvidia-container-runtime


e.执行以下命令测试nvidia-container-runtime是否可以正常工作:

nvidia-container-runtime -v

#  runc version 1.0.0-rc3

#commit: fc48a25bde6fb041aae0977111ad8141ff396438-dirty

#  spec: 1.0.0-rc5


docker run -it --rm -e NVIDIA_VISIBLE_DEVICES=all ubuntu nvidia-smi -L

# GPU 0: Tesla P100-PCIE-16GB (UUID: GPU-122e199c-9aa6-5063-0fd2-da009017e6dc)


说明 本测试运行在GPU P100机型中,不同GPU型号会有区别。


点击左下角阅读原文查看更多!


640?wx_fmt=png

如果觉得本文还不错,点击好看一下!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值