NVIDIA GPU Driver Kernel Mode Layer Contains Use-After-Free Vulnerability Leading to Privilege Escalation
Overview
A high-severity vulnerability was discovered in the kernel mode layer of the NVIDIA GPU Display Driver for both Windows and Linux. The flaw, identified as a use-after-free condition, could be triggered by a local, unprivileged user. A specifically crafted sequence of API calls to the driver could cause the kernel to deallocate a memory object but retain a dangling pointer to it. Subsequent operations could then be manipulated to use this pointer to write or read from an arbitrary memory location within the kernel space. Successful exploitation allows an attacker with basic user permissions to execute code with kernel-level privileges (Ring 0). This effectively bypasses all operating system security boundaries, allowing the attacker to disable security software, install rootkits, or gain complete control over the system. This vulnerability is especially critical in multi-tenant environments that rely on GPUs for AI/ML workloads, such as cloud-based Jupyter notebook services or on-premise Kubernetes clusters with GPU sharing. A compromised container could potentially break out and compromise the entire host node, affecting all other workloads running on it.
Affected Systems
Testing Guide
1. **Check Driver Version (Windows):** Open the NVIDIA Control Panel, go to 'Help' -> 'System Information'. Verify the 'Driver version' is 551.61 or higher. 2. **Check Driver Version (Linux):** Run the command `nvidia-smi` in the terminal. The driver version is displayed in the top right corner. Ensure it is 550.54.14 or higher. 3. **Use Vulnerability Scanners:** Run a system vulnerability scanner (e.g., Nessus, OpenVAS) with up-to-date plugins, which will automatically detect outdated and vulnerable driver versions.
Mitigation Steps
1. **Update NVIDIA Drivers:** Download and install the latest GPU driver version from the NVIDIA website or via your Linux distribution's package manager. Ensure the version is at or above the patched versions. 2. **Restrict GPU Access:** In multi-tenant environments, use security mechanisms like Kubernetes device plugins and AppArmor/SELinux profiles to limit container access to GPU driver functionalities. 3. **Regular Patching Cycle:** Implement a strict and regular patching schedule for all system drivers, especially for critical infrastructure like GPU drivers.
Patch Details
Patches are available in NVIDIA driver versions 551.61 (Windows) and 550.54.14 (Linux) and later.