NVIDIA Container Toolkit 1.17.7及以下版本在使用默认配置时存在一个TOCTOU竞态条件攻击漏洞。该漏洞不会影响容器设备接口(CDI)的使用,但若被成功利用,可能导致容器逃逸,使攻击者能够在宿主机上执行任意命令或获取敏感信息。已知攻击场景下,受害者需要使用恶意镜像,并在容器内通过NVIDIA Container Toolkit操作GPU资源。
关于漏洞的详细信息,请参见NVIDIA Container Toolkit,请及时修复。
影响范围
集群版本低于1.32,且集群中GPU节点安装了版本为1.17.7及以下的NVIDIA Container Toolkit组件。
防范措施
在漏洞未修复之前,建议避免在集群中运行不可信的容器镜像,以确保系统的安全性和稳定性。可参见以下两种方案。
参见启用安全策略管理启用ACKAllowedRepos策略,限制只使用可信仓库来源的镜像,同时基于最小化权限原则确保只有可信人员具有导入镜像的权限。
您可以使用Notation和Ratify进行OCI制品的加签和验签,确保只有受信镜像部署在集群中。
解决方案
注意事项
修复方案仅适用于ACK托管集群Pro版、ACK托管集群基础版、ACK专有集群、ACK Edge集群的云端节点池和ACK灵骏集群的托管节点池。
如果您的集群类型为ACK灵骏集群,且节点池为灵骏节点池,请提交工单处理。
在修复过程中,请分批进行节点修复操作,避免同时修复所有节点,以确保系统稳定性。
整个过程会通过重启节点上正在运行的业务Pod对其进行修复,请选择业务低峰期进行修复操作。
修复方案
新增GPU节点配置方案
本方案仅适用于1.20及以上版本的集群。若您集群版本低于1.20,请及时升级集群。
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
找到对应节点池,单击编辑,为节点池添加
ack.aliyun.com/nvidia-container-runtime-version=1.17.8
标签后,单击确认。说明该标签将锁定节点池扩容时使用的nvidia-container-toolkit版本为1.17.8,后续发布新版本时不会自动升级。
若需使用新版本nvidia-container-toolkit,需手动删除该标签,扩容节点将默认采用最新版本。
存量GPU节点修复方案
对于存量GPU节点场景,可以通过执行CVE修复脚本,进行手动修复。修复方案详情如下。