漏洞详情:
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