The official app for installing SteelSeries devices on Windows 10 can be exploited to obtain administrator rights, a security researcher has found.
Leveraging the bug is possible during the device setup process, using a link in the License Agreement screen that is opened with SYSTEM privileges. A real SteelSeries device is not necessary to exploit the bug.
Emulating a device also works
The discovery comes after news broke over the weekend that the Razer Synapse software can be used to gain elevated privileges when connecting a Razer mouse or keyboard.
Encouraged by the research from jonhat, offensive security researcher Lawrence Amer (research team leader at 0xsp) found that the same can be achieved with the SteelSeries device installation software.
Playing with a recently acquired SteelSeries keyboard on Monday, the researcher discovered a privilege escalation vulnerability that allowed him to run the Command Prompt in Windows 10 with admin privileges.
The SteelSeries software is not just for keyboards (Apex 7/Pro), though. It also installs and allows configuring mice (Rival 650/600/710) and headsets (Arctis 9, Pro) from the maker; it even lets users control the RGB lighting on the QCK Prism gaming mousepad.
Amer started by plugging in his keyboard and monitoring the installation process, which started with downloading the SteelSeries software (SteelSeriesGG6.2.0Setup.exe) to the Windows temporary folder.
A real SteelSeries device is not necessary for this attack to work. Penetration testing researcher István Tóth published an open-source script that can mimic human interface devices (HID) on an Android phone, specifically for testing local privilege escalation (LPE) scenarios.
Although an experimental version, the script can successfully emulate both Razer and SteelSeries devices.
After Amer published his research, Tóth published a video demonstrating that LPE discovered by Amer can be achieved using his USB Gadget Generator Tool.
Finding the right context
In trying to find a weak spot, Amer poked around trying to find a way to load a missing DLL or EXE from folders accessible to unprivileged users but did not find any.
However, he noticed that the device setup app was launched with SYSTEM rights immediately after downloading it. Another process running with the highest privileges provided a new opportunity for attack.
Amer tried the same method that worked for the Razer zero-day vulnerability, but it did not work because the installation carries on without user interaction.
The researcher caught a lucky break when the License Agreement appeared with a link to SteelSeries’ privacy policy. When clicking on the link, the dialog for choosing a launching app appeared.
Amer tested the scenario in a virtual machine that did not have file associations defined. The only process available for opening the link was Internet Explorer, which spawned as SYSTEM.
From there, it was a simple matter of using IE to save the web page and launch an elevated privileges Command Prompt from the right-click menu of the “Save As” dialog.
Amer told BleepingComputer that he tried informing SteelSeries about the vulnerability but could not find a public bug bounty program or a contact for product security.
Replying to our request for comments on the matter, a SteelSeries representative said that the company was aware of the issue and removed the risk of exploitation by preventing the installation software from launching on plugging in a SteelSeries device:
"We are aware of the issue identified and have proactively disabled the launch of the SteelSeries installer that is triggered when a new SteelSeries device is plugged in. This immediately removes the opportunity for an exploit and we are working on a software update that will address the issue permanently and be released soon" - SteelSeries spokesperson
The researcher says that the vulnerability could still be exploited even after patching it. An attacker could save the vulnerable signed executable dropped in the temporary folder when plugging in a SteelSeries device and serve it in a DNS poisoning attack.
Update [August 25, 04:14 EST]: Article updated with comment from SteelSeries provided after publication
Comments
doriel - 2 years ago
I thought Windows 10 are the safest, fastest and best service ever ever ever. Instead, we read every day about new hacking possibilities :)
xrobwx71 - 2 years ago
"I thought Windows 10 are the safest, fastest and best service ever ever ever. Instead, we read every day about new hacking possibilities :)"
I find it interesting that you blame Windows and not Razor or Steelseries.
h_b_s - 2 years ago
""I thought Windows 10 are the safest, fastest and best service ever ever ever. Instead, we read every day about new hacking possibilities :)"
I find it interesting that you blame Windows and not Razor or Steelseries."
The underlying flawed chain of circumstances is in Windows. It's just lazy programmers at these companies causing the chain of circumstances to be exposed. The only way to permanently fix this problem for all known and unknown devices is an overhaul of the way Windows installs software and device drivers, which Microsoft has been loath to do. They got reamed over UAC popping up "too often" in Vista. The heuristics they use in place of unconditional UAC prompts for installation since Win 7 (which was the correct way) allows a lot of loopholes like this.
It's been noticed that in some cases UAC will not prompt on installation of programs lacking certain key terms in the file name such as "setup" or "installer", for example. This is exposing a similar problem in not dropping elevated privileges when placing files that are not themselves driver files, after not prompting for UAC to begin with. You have an immediate path to a malware file drop for very little effort.
At this point, I would assume just about every USB device that has a similar setup process is just as vulnerable to this problem - thousands of device models. It's not just the lazy OEM programmers that's the problem. Microsoft needs to fix this problem on their end as well, and I doubt they will.
doriel - 2 years ago
"I find it interesting that you blame Windows and not Razor or Steelseries."
Its native Windows dialog, from which you can takeover the admin rights. Why should I blame Razor for using Windows resources?
Eminus - 2 years ago
Why? Windows OS makes it possible; Razor (and Steelseries) utilize the option but at the end Windows provides it.
Would the razor mouse have the same privilege escalation when it was plugged into a redhat / unbutu distribution? (stand aside no sane mind would game on linux)
Echo64 - 2 years ago
I know Razer and SteelSeries are getting called out for this right now, but would it be safe to assume at this point that there may be hundreds if not thousands of other plug and play devices that this exploit could also be potentially performed with?
xrobwx71 - 2 years ago
"I know Razer and SteelSeries are getting called out for this right now, but would it be safe to assume at this point that there may be hundreds if not thousands of other plug and play devices that this exploit could also be potentially performed with?"
If this becomes the case, then, we can blame Windows.
doriel - 2 years ago
If you choose to install program for all users, you are promted for admin rights.
If you choose to install program for single user only, installation can be done without admin rights.
What I do not understand is, if the Razor or SteelSeries installation is supposed to run without admin rights? Installation usually requires administrator privileges, because its writing data into system directory and such places.
NickAu - 2 years ago
I have a Razer keyboard and mouse, or should I say I had a Razer keyboard for about a year and a half till the number keys stopped working and the mouse only lasted around 9 months (my previous keyboard its a old IBM 101 worth about 10 bucks that is some 10 plus years old ) is still going strong and I am using it to type this post on.
If you are thinking of buying Razor think twice before shelling out all that money.