NVIDIA GPU Driver Kernel Mode Vulnerability Allows Denial of Service and Privilege Escalation
Overview
A high-severity vulnerability was found in the kernel mode layer of NVIDIA's GPU drivers for both Windows and Linux. The vulnerability, tracked as CVE-2024-0083, allows a local user with basic privileges to cause a denial-of-service (DoS) condition or potentially escalate privileges. The flaw resides in how the driver handles certain inputs from user-mode applications. A specially crafted, low-privilege process could interact with the driver in a way that leads to an out-of-bounds write or null-pointer dereference within the kernel. In the context of AI and ML workloads, this is particularly dangerous in multi-tenant environments, such as a shared Kubernetes cluster with GPU nodes or a cloud-based Jupyter notebook service. A malicious user could run code in their container or notebook that triggers this vulnerability, crashing the entire host node and disrupting all other tenants' workloads. While privilege escalation is more complex, a successful exploit could allow an attacker to break out of their container and gain full control of the host machine, compromising all data and models being processed on that GPU node.
Affected Systems
Testing Guide
1. **Check Driver Version**: On Windows, open the NVIDIA Control Panel and go to 'System Information'. On Linux, run `nvidia-smi` in the terminal. Compare the displayed Driver Version with the patched versions. 2. **Consult Security Scanners**: Use a host-based vulnerability scanner (e.g., Nessus, Qualys) to scan your systems. These scanners have plugins to detect outdated and vulnerable NVIDIA driver versions. 3. **Review NVIDIA Bulletins**: Regularly check the NVIDIA Product Security page for the latest security bulletins relevant to your deployed driver branches.
Mitigation Steps
1. **Update Drivers**: Immediately update all NVIDIA drivers on workstations and servers to the patched versions listed in the NVIDIA security bulletin. 2. **Restrict GPU Access**: In multi-tenant environments, use security mechanisms like Kubernetes Pod Security Policies or admission controllers to limit which users and pods can request GPU resources. 3. **Monitor System Logs**: Implement monitoring for unexpected kernel panics or system crashes on GPU-enabled nodes, which could indicate attempts to exploit such vulnerabilities. 4. **Use Virtualization**: For higher security needs, leverage GPU virtualization technologies that provide stronger isolation between tenants than standard containerization.
Patch Details
Patches are available in R550, R535, and other driver branches. Refer to the official NVIDIA security bulletin for the specific version for your GPU and OS.