Graphics chip maker Nvidia released a new version of its Unix driver on Friday 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 publicly disclosed last Wednesday by Dave Airlie, a principal engineer in the graphics team at Linux vendor Red Hat.
[ Prove your expertise with the free OS in InfoWorld's Linux admin IQ test round 1 and round 2. | Track the latest trends in open source with InfoWorld's Open Sources blog and Technology: Open Source newsletter. ]
The public disclosure was done at the request of an anonymous researcher who originally discovered the flaw and after Nvidia failed to respond to a private report about the vulnerability, Airlie said in an email sent to the Full Disclosure mailing list.
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 Friday via email. "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 Friday, 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 in a technical support article.
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.