Peter Winter-Smith, a researcher from the U.K., published an interesting exploit for the NVIDIA Display Driver Service on Christmas Day, which enables an attacker to install a user on the target system, completely bypassing Microsoft’s Data Execution Prevention (DEP) and Address Space Layout Randomization (ASLR) protections.
“Here is an interesting exploit for a stack buffer overflow in the NVIDIA Display Driver Service,” Winter-Smith’s note explained.
“The service listens on a named pipe (pipensvr) which has a NULL DACL configured, which should mean that any logged on user or remote user in a domain context (Windows firewall/file sharing permitting) should be able to exploit this vulnerability.”
While there are plenty of mitigations that will prevent this exploit from being widely targeted, it’s still a valid platform of attack; one that works with the latest drivers on systems running Windows 7.
The primary focus to the bug is information leakage, which allows stack cookies to be bypassed. From there, the proof-of-concept code released with the vulnerability’s disclosure enables an attacker to create a super user account on the targeted system for remote access. In the example published by Winter-Smith, a Metasploit payload was used to create the user r00t, and add it to the Administrators group. An actual expolit module has not been added to Metasploit, though one may get added, Rapid7 told SecurityWeek, noting that no timeline has been set.
“The NVidia vulnerability identified by Peter Winter-Smith is a serious risk to any organization using these drivers on enterprise systems,” HD Moore, CSO at Rapid7 and Chief Architect for Metasploit told SecurityWeek. “The vulnerability allows a remote attacker with a valid domain account to gain super-user access to any desktop or laptop running the vulnerable service.”
“This flaw also allows an attacker (or rogue user) with a low-privileged account to gain super-access to their own system, but the real risk to enterprises is the remote vector,” Moore added.
While the exploit is not yet in Metasploit, it is easy to compile and run as a standalone tool, Moore said.
“An attacker with access to the company network as low-privileged desktop user (say, as a result of a successful phishing attack), could leverage this flaw to gain remote access to sensitive systems, such as the desktop or laptop of the network administrator,” Moore explained.
Earlier this month, the FBI busted ten suspects involved in a global botnet operation that infected more than 11 million systems. The suspects were involved in controlling and spreading the malware needed to operate the Butterfly Botnet, which at one point used rogue NVIDIA drivers to spread.
This serves as just one example as to why such secondary layers of application installations are commonly targeted by crooks, and why developers have to remain vigilant when sending their code to the public.
In August, NVIDIA was forced to patch their Linux drivers after a vulnerability reported to them months earlier was publically disclosed. That vulnerability was a privilege escalation bug, which enabled normal users the rights to administrator levels of program execution.
Winter-Smith’s discovery is a great (and interesting) example of driver code that should have been cleaned during the QA process, but was somehow missed.
NVIDIA did not immediately respond to SecurityWeek’s request for comment before this story was published, but if a response is received, updates will be posted accordingly.