Privilege Escalation in NVIDIA GPU Driver via Improper Input Validation in Kernel Mode Layer
Overview
A high-severity vulnerability was discovered in the NVIDIA GPU Display Driver for Linux, specifically within the kernel mode layer component. The flaw, identified as CVE-2024-0072, arises from the driver's failure to properly validate input provided by a user-mode application. A local attacker with basic user privileges can craft a malicious API call to the driver. This specially crafted input bypasses validation checks and results in an out-of-bounds write operation within the kernel's memory space. In a multi-tenant AI/ML environment, such as a shared JupyterHub or a Kubernetes cluster with GPU nodes, this vulnerability is particularly dangerous. An attacker who has compromised a single container or user session can exploit this flaw to crash the entire host machine, causing a denial of service for all other users. More critically, sophisticated exploits can leverage the out-of-bounds write to achieve arbitrary code execution with kernel-level privileges. This would allow the attacker to break out of their container, gain complete root control over the host node, access data from all other ML workloads, and potentially pivot to other parts of the network. The vulnerability underscores the critical importance of keeping GPU drivers, a key part of the AI infrastructure stack, fully patched.
Affected Systems
Testing Guide
1. **Check Driver Version:** On the Linux host machine with an NVIDIA GPU, run the command `nvidia-smi`. The output will display the installed driver version in the top right corner. 2. **Compare with Affected Versions:** Compare the installed version with the list of affected versions. For example, if you are on the 535 production branch, any version before `535.154.05` is vulnerable. 3. **Consult Security Bulletin:** Refer to the official NVIDIA Security Bulletin for CVE-2024-0072 for the complete list of affected products and patched versions.
Mitigation Steps
1. **Update NVIDIA Drivers:** Immediately update all affected systems to a patched driver version as specified in the NVIDIA security bulletin. 2. **Restrict GPU Access:** In multi-tenant environments, use mechanisms like Kubernetes device plugins and security contexts to limit which users and pods can access GPU devices. 3. **Use GVisor or Kata Containers:** For workloads running untrusted code, consider using sandboxed container runtimes like gVisor or Kata Containers to provide an additional layer of isolation between the container and the host kernel. 4. **Monitor Kernel Logs:** Implement monitoring for anomalous kernel-level activity and crashes (kernel panics), which could indicate failed exploit attempts.
Patch Details
Patches are available in driver versions 550.40.07, 545.29.06, 535.154.05, and later releases in the respective branches.