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