产品目录
      关于我们
      安全公告 UCloud-201902-001:runc容器逃逸漏洞安全预警

      UCloud-201902-001:runc容器逃逸漏洞安全预警

      • 发布时间 2019-02-14
      • 更新时间 2019-02-14
      • 漏洞等级 High
      • CVE编号 CVE-2019-5736

      漏洞详情

      runc被曝存在容器逃逸漏洞。该漏洞允许恶意容器(以最少的用户交互)覆盖host上的runc文件,从而在host上以root权限执行代码。在下面两种情况下,通过用户交互可以在容器中以root权限执行任意代码:
      1.使用攻击者控制的镜像创建新容器。
      2.进入到攻击者之前具有写入权限的现有容器中(docker exec)。

      影响范围

      1.对于UK8S用户,影响范围如下:
      2019年2月14日 15:00 之前创建的UK8S集群。此批集群的Docker版本为1.13.1,runc版本<1.0-rc6,存在安全隐患,UK8S团队将全程协助客户修复。

      2.对于UDocker用户,影响范围如下:
      2019年2月14日 20:00之前创建的容器集群,存在安全隐患,

      3.对于用户自建集群,影响范围如下:
      Docker版本<18.09.2,或runc版本<=1.0-rc6,存在安全隐患,需要修复。

      备注:由于UK8S及UDocker集群均为单租户模式,如无使用未经验证的第三方镜像,现有安全隐患较小,不过依然建议在攻击代码开放之前修复。

      修复方案

      注意:安装升级前,请做好数据备份、快照和测试工作,防止发生意外
      1、用户自安装的docker和Kubernetes环境,请升级到各系统官方发布的修复版本:
       Docker版本 >= 18.09.2
       runc版本 > 1.0-rc6

      2、使用UK8s的用户:
      方法一:对于测试用集群,建议删除后重新创建,新版本UK8S集群已修复该漏洞(CVE-2019-5736);

      方法二:仅升级runc版本,该方案为热升级方案,理论上不会导致业务中断,具体方案如下:
      1)备份原有runc,UK8S的runc位于/usr/libexec/docker路径下。
      mv /usr/libexec/docker/docker-runc-current /usr/libexec/docker/docker-runc-current.$(date -Iseconds)
      2)下载修复的runc版本
      wget https://github.com/rancher/runc-cve/releases/download/CVE-2019-5736-build2/runc-v1.13.1-amd64
      3)设置新版本runc的可执行权限
      chmod +x /usr/libexec/docker/docker-runc-current
      4)测试新版本runc是否正常工作
      /usr/libexec/docker/docker-runc-current -v
      docker run -it --rm ubuntu echo OK

      方法三:升级Docker版本至18.09.2或以上,会导致容器重启并使得业务中断,请谨慎使用。

      3、使用UDocker的用户:
      为确保容器集群的安全稳定,UCloud已着手对存量UDocker集群进行热升级,升级期间不会对用户业务造成影响,请无需担心。
      另,新版本UDocker已修复runc漏洞,可正常使用。

      参考链接

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