NVIDIA公布了关于NVIDIA驱动的一个漏洞CVE-2021-1056,该漏洞是NVIDIA GPU驱动程序与设备隔离相关的安全漏洞。Kubernetes集群中如果存在阿里云GPU(EGS)的节点,都有可能存在该漏洞。本文介绍该漏洞的背景信息、影响范围和解决方案。
背景信息
漏洞CVE-2021-1056是NVIDIA GPU驱动程序与设备隔离相关的安全漏洞。当容器以非特权模式启动,攻击者利用这个漏洞,在容器中创建特殊的字符设备文件后,能够获取宿主机上所有GPU设备的访问权限。
关于漏洞的详细信息,请参见CVE-2021-1056。
影响范围

- 如果您选择自定义安装或更新GPU驱动,请参考上图确认您安装的GPU驱动是否受该漏洞影响。
- 如果您选择由阿里云容器服务Kubernetes版集群默认安装NVIDIA GPU驱动。依据NVIDIA官方信息,目前已验证受影响的容器服务Kubernetes集群版本包括:
- ACK 1.16.9-aliyun.1(默认安装GPU驱动版本为418.87.01版本)
- ACK 1.18.8-aliyun.1(默认安装GPU驱动版本为418.87.01版本)
确认GPU节点NVIDIA驱动版本
nvidia-smi预期输出:
Fri Apr 16 10:58:19 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.87.01 Driver Version: 418.87.01 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla V100-SXM2... On | 00000000:00:07.0 Off | 0 |
| N/A 34C P0 37W / 300W | 0MiB / 16130MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+从上述输出的信息,可以知道该节点的GPU驱动版本为418.87.01。
解决方案
请您根据上图的NVIDIA官方信息,将节点升级到对应驱动版本进行漏洞修复:
- R390系列:请升级至390.141版本。
- R418系列:请升级至418.181.07版本。
- R450系列:请升级至450.102.04版本。
- R460系列:请升级至460.32.03版本。
关于升级ACK集群GPU节点驱动方法,请参见通过节点池升级已有节点的NVIDIA驱动、手动升级GPU节点驱动和通过节点池创建新NVIDIA驱动版本的节点。