Nvidia releases new Unix driver to fix high-risk Linux vulnerability
Nvidia Unix driver 304.32 addresses vulnerability that can grant local users root access
By Lucian Constantin | Published: 14:12, 07 August 2012
Nvidia released a new version of its Unix driver last week in order to address a high-risk vulnerability that can be exploited by local users to gain root privileges on Linux systems.
The privilege escalation vulnerability fixed in the new 304.32 version of the Nvidia Unix driver 304.32 was disclosed in public on August 1 by Dave Airlie, a principal engineer in the graphics team at Linux vendor Red Hat.
The public disclosure was done at the request of an anonymous researcher who originally discovered the flaw and after graphics chip maker Nvidia failed to respond to a private report about the vulnerability, Airlie said in an email sent to the Full Disclosure mailing list.
Related Articles on Techworld
Airlie's message also included proof-of-concept exploit code created by the anonymous researcher to demonstrate the vulnerability.
"We contacted Nvidia via their advertised security alias in June," Airlie said. "It appears there were some process issues on their end that may have meant our email didn't get noticed."
The vulnerability is present in the Nvidia Unix driver 295.59 and earlier versions, but the proof-of-concept exploit was designed for 64-bit Linux systems.
On August 3 Nvidia confirmed the existence of the vulnerability and released version 304.32 of the Nvidia Unix driver for Linux, FreeBSD and Solaris operating systems in order to address it. The new version also includes other changes that the company believes will prevent similar exploits in the future.
"Because any user with read and write access to the NVIDIA device files (which is needed to execute applications that use the GPU) could potentially exploit this vulnerability to gain access to arbitrary system memory, this vulnerability is classified as high risk by NVIDIA," the company said.
However, despite the new release, the company still offers version 295.59 as primary download on its Unix drivers page.
In order to address the problem for users who can't or don't want to upgrade to the new driver version, the company also released a patch that can be applied manually to older drivers. Deploying it requires installing an older patch for a different vulnerability first.
However, unlike the new 304.32 version of the driver, the manual patch will break compatibility with the Linux CUDA debugger, a tool used by developers to debug code written for Nvidia's CUDA hardware acceleration technology.
Linux vendors might release patched versions of older NVIDIA drivers that have been tested with different versions of their Linux distributions as well. These can be obtained through their respective update channels.