针对近期暴露的 runc 容器逃逸漏洞,青云技术团队一直在密切观察和研究,同时与大家同步以下信息,希望对大家有所帮助。
什么是 runc
Runc 是一个根据 OCI (Open Container Initiative) 标准构建的并运行容器的底层工具,诸如 Docker,Containerd 以及 CRI-O 都以其为底层核心去处理数据的格式化和序列化。而 Kubernetes 作为容器调度管理平台基于这些容器运行环境,也受到了此漏洞的影响。
此漏洞(CVE-2021-30465)可能会造成的影响
当前漏洞威胁级别为【严重】,所有 runc 1.0.0-rc95 以下的版本均会受到影响,攻击者可以通过创建恶意 Pod 及 Container,利用符号链接以及条件竞争漏洞,可挂载宿主机目录至 Container 中,最终可能会导致容器逃逸。目前漏洞细节、POC 已公开,风险高。
降低风险以及规避漏洞的建议
-
手动升级 runc 版本
升级 runc 至 1.0.0-rc95,可参考官方升级
查看 runc 版本:
docker-runc -v
注意:升级前请做好关键数据的备份
-
目前使用 KubeKey 新装集群且使用 KubeKey 默认安装的 docker, 其 runc 版本大于 v1.0.0-rc94,不存在该逃逸漏洞的风险,已安装集群请按漏洞解决方案排查修复。
-
即将发布的 QKE 3.1 版本中,也将包含最新版 runc。
-
在以上配置升级过程中碰到任何问题,您可通过青云线上工单系统获得青云专业技术支持