GPU VulnDB

Database/NVIDIA / GPU stack

NVIDIA UNIX (Linux/FreeBSD/Solaris) GPU driver before 295.40 - /dev/nvidia* device node: The GPU-side twin of

CVE-2012-0946NVIDIA / GPU stackcurated

Impact

The GPU-side twin of CVE-2014-8159. The NVIDIA UNIX driver let anyone holding read/write permission on the GPU device node reach arbitrary system memory locations through it - and /dev/nvidia* is world-accessible by design, because unprivileged users have to run CUDA. On a shared GPU node that means any tenant with a GPU handle, which is every tenant, gets a host-memory read/write primitive. Structurally important for the database because it is the earliest clear demonstration that the GPU device node is a privilege boundary the OS does not enforce: the kernel's memory protections do not apply to what the GPU is asked to touch.

Who can reach it

Local, unprivileged - open /dev/nvidia0. Any process permitted to run CUDA on the node, including inside a container with the GPU mapped in.

What to do

Upgrade to NVIDIA 295.40 or later. In practice a GPU driver upgrade means unloading nvidia.ko, which requires every process holding a GPU to exit - so the node has to be drained of tenant workloads first, and on a training cluster that means waiting for or killing long-running jobs. This is the operational reason GPU driver versions drift badly in production fleets: the upgrade is cheap technically and expensive in lost job-hours, so it gets deferred.

References

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.