近日Containerd社区披露了CRI实现中的漏洞,在调用ExecSync API时,容器内的程序可以不受约束地消耗内存,从而导致Containerd消耗容器所在节点的所有可用内存,完成DoS攻击。在K8s Probe和容器Lifecycle Hooks中的exec机制均可触发该攻击。
CVE-2022-31030漏洞被评估为中危漏洞。
公告首次发布:2022年07月05日
公告更新发布:2025年05月19日,优化关于影响范围的描述。
影响范围
以下枚举的Containerd版本均在该漏洞影响范围内:
≤v1.5.12
v1.6.0~v1.6.5
Containerd社区在以下版本中修复了该漏洞:
v1.5.13
v1.6.6
说明
该漏洞只影响使用Containerd运行时节点池中的节点。
关于漏洞的详细信息,请参见CVE-2022-31030。
防范措施
参考如下方案及时升级集群存量节点Containerd版本,同时严格控制非受信人员的应用部署权限。
通过
kubectl drain
命令,排水掉目前需要升级的节点。通过
systemctl stop kubelet
命令,停止节点的kubelet服务。通过
systemctl stop containerd
命令,停止节点的Containerd服务。安装最新的Containerd的RPM包。
通过
systemctl start containerd
命令,启动Containerd服务。通过
systemctl start kubelet
命令,启动kubelet服务。该节点升级完成,使用
kubectl uncordon
将节点恢复到可调度状态。如还需继续升级其他节点,回到第2步继续升级其他节点。
该文章对您有帮助吗?