Sec Consult security researchers discovered a vulnerability in Nvidia's GeForce Experience software that allows attackers to bypass Windows application whitelisting.
Nvidia's GeForce Experience is a program that Nvidia installs by default in its driver packages. The program, initially designed to provide users with good configurations for computer games so that they run better on user systems, has been blown up since then by Nvidia.
The software checks for driver updates now, and may install those, and it enforces registration before its other functionality becomes available.
What's interesting about it is that it is not needed for making use of the graphics card, and that the video card works equally fine without it.
Nvidia GeForce Experience installs a node.js server on the system when it is installed. The file is not called node.js, but NVIDIA Web Helper.exe, and it is located under %ProgramFiles(x86)%\NVIDIA Corporation\NvNode\ by default.
Nvidia renamed Node.js to NVIDIA Web Helper.exe and signed it. What this means is that Node.js is installed on the majority of systems with Nvidia graphics cards, considering that drivers are installed automatically and not using the custom install option.
Whitelisting allows administrators to define programs and processes that may run on an operating system. Microsoft AppLocker is a popular whitelisting solution to improve security on Windows PCs.
Administrators may improve security further by using signatures to enforce code and script integrity. The latter is supported by Windows 10 and windows Server 2016 with Microsoft Device Guard for instance.
The security researchers found two possibilities to exploit Nvidia's NVIDIA Web Helper.exe application:
Since the process is signed, it will bypass any reputation-based checks by default.
From attacker perspective, this opens two possibilities. Either use node.js to directly interact with the Windows API (e.g. to disable application whitelisting or reflectively load an executable into the node.js process to run the malicious binary on behalf of the signed process) or to write the complete malware with node.js. Both options have the advantage, that the running process is signed and therefore bypasses anti-virus systems (reputation-based algorithms) per default.
Probably the best option right now is to uninstall the Nvidia GeForce Experience client from the operating system.
First thing you may want to do is make sure that a system is vulnerable. Open the folder %ProgramFiles(x86)%\NVIDIA Corporation\ on the Windows PC and check if the directory NvNode exists.
If it does, open the directory. Find the file Nvidia Web Helper.exe in the directory.
Right-click on the file afterwards, and select properties. When the properties window opens, switch to details. There you should see the original file name and product name.
Once you have established that a Node.js server is indeed on the machine, it is time to remove it provided that Nvidia GeForce Experience is not required.
If you check the program folder afterwards again, you will notice that the entire NvNode folder is no longer on the system.
Advertising revenue is falling fast across the Internet, and independently-run sites like Ghacks are hit hardest by it. The advertising model in its current form is coming to an end, and we have to find other ways to continue operating this site.
We are committed to keeping our content free and independent, which means no paywalls, no sponsored posts, no annoying ad formats (video ads) or subscription fees.
If you like our content, and would like to help, please consider making a contribution:
Ghacks is a technology news blog that was founded in 2005 by Martin Brinkmann. It has since then become one of the most popular tech news sites on the Internet with five authors and regular contributions from freelance writers.