此前 containerd 修复了一个逃逸漏洞,当容器和宿主机共享一个 net namespace 时(如使用 –net=host 或者 Kubernetes 设置 pod container 的 .spec.hostNetwork 为 true)攻击者可对拥有特权的 containerd shim API 进行操作,可能导致容器逃逸获取主机权限、修改主机文件等危害。
官方建议升级 containerd 以修复和防御该攻击;当然业务在使用时,也建议如无特殊需求不要将任何 host 的 namespace 共享给容器,如 Kubernetes PODS 设置 hostPID: true、hostIPC: true、hostNetwork: true 等。
我们测试升级 containerd 可能导致运行容器退出或重启,有状态容器节点的升级要极为慎重。也因为如此,业务针对该问题进行 containerd 升级的概率并不高。
利用目前最方便的 EXP 为:
https://github.com/cdk-team/CDK/wiki/Exploit:-shim-pwn
最后编辑: kuteng 文档更新时间: 2022-06-01 16:18 作者:kuteng