Linux kernel nouveau: use-after-free racing the GEM info ioctl against GEM close
Impact
In the non-uvmm path, the GEM info ioctl looked up a VMA without reserving the buffer object, so a concurrent GEM close can free that VMA while the lookup is still using it. Any process holding the DRM render node can drive both sides of the race, which on a shared node means a local user crashing the machine or, with allocator grooming, corrupting freed kernel memory. The practical exposure in a GPU datacenter is limited: nouveau is the open reverse-engineered NVIDIA driver, and production accelerator fleets run the NVIDIA proprietary or open GPU kernel modules instead. It matters for hosts that fell back to nouveau, and for management or head nodes where nouveau binds the onboard display GPU.
Who can reach it
Local, requiring an open file descriptor on a nouveau DRM device (typically /dev/dri/renderD*, which is often group-accessible or exposed into containers). No privilege beyond that is stated in the record.
What to do
Update to a stable kernel containing the fix, which reserves the buffer object around the VMA lookup, and reboot the node. If nouveau is not needed - the usual case on NVIDIA datacenter GPUs - blacklisting the module removes the exposure without a kernel upgrade, though the node still needs a reboot or a module unload for that to take effect. No fixed version is given in the record beyond the four stable commits.
References
Related entries
- GPU / accelerator firmware (VBIOS, GSP, NVSwitch): GPU-resident firmware sits below the host OS and is not coveredNCVD-0000-012-gpu-accelerator-firmware-vbios-g · GPU / accelerator firmware (VBIOS, GSP, NVSwitch)Unscored
- NVIDIA Multi-Instance GPU (MIG) partitioning: MIG gives each instance its own SM slice, L2 slice, memory slice andNCVD-2020-001-nvidia-multi-instance-gpu-mig-pa · NVIDIA Multi-Instance GPU (MIG) partitioningUnscored
- NVIDIA Multi-Instance GPU (MIG) partitioning: MIG gives each instance its own SM slice, L2 slice, memory slice andNCVD-2020-003-nvidia-multi-instance-gpu-mig-pa · NVIDIA Multi-Instance GPU (MIG) partitioningUnscored
- Integrated GPU graphics data compression (Intel, AMD, Apple, Arm, Qualcomm, NVIDIA): GPUs apply data-dependent losslessNCVD-2023-003-integrated-gpu-graphics-data-com · Integrated GPU graphics data compression (Intel, AMD, Apple, Arm, Qualcomm, NVIDIA)Unscored
- NVIDIA Confidential Computing (H100/H200/B100/B200/GB200) - CC-DevTools operating mode: NVIDIA GPU confidentialNCVD-2023-004-nvidia-confidential-computing-h1 · NVIDIA Confidential Computing (H100/H200/B100/B200/GB200) - CC-DevTools operating modeUnscored
- Integrated GPU graphics data compression (Intel, AMD, Apple, Arm, Qualcomm, NVIDIA): GPUs apply data-dependent losslessNCVD-2023-005-integrated-gpu-graphics-data-com · Integrated GPU graphics data compression (Intel, AMD, Apple, Arm, Qualcomm, NVIDIA)Unscored
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.