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的环境,请自行根据厂商建议进行修复。

解决办法:

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

漏洞参考链接:

http://www.bus123.net/10407.html

https: //cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5736

https://github.com/Frichetten/CVE-2019-5736-PoC

https://www.exploit-db.com/exploits/46359

原文地址:https://www.cnblogs.com/Phantom3389/p/10489890.html