Second Steam Zero-Day Impacts Over 96 Million Windows Users

A second Steam Windows client zero-day privilege escalation vulnerability affecting over 96 million users has been publicly disclosed today by Russian researcher Vasily Kravets.

This happens after Valve disputed the significance of the previous Steam 0day disclosed by Kravets on Twitter and banned him out of their HackerOne bug bounty program.

Seeing that this vulnerability impacts only the Steam Windows client, with Steam having over 100 million registered users and 96.28% of them are running Windows according to the Steam Hardware & Software Survey: July 2019, the systems of roughly 96 millions of them are currently affected. 

Steam OS versions
Percentage of Steam users running Windows

The privilege escalation (also known as an elevation of privilege or local privilege escalation) security flaw disclosed today by Kravets can allow attackers with limited rights to use a technique known as BaitAndSwitch to run executables using the Steam Client Service's  NT AUTHORITY\SYSTEM elevated permissions.

This would allow potential attackers to launch a three-stage attack, getting remote code execution privileges by exploiting a vulnerability in a Steam game, a Windows app, or the OS itself, subsequently elevating privileges on the compromised device and running a malicious payload using SYSTEM permissions.

As Kravets detailed in his write-up, "achieving maximum privileges can lead to much more disastrous consequences. For example, disabling firewall and antivirus, rootkit installation, concealing of process-miner, theft any PC user’s private data — is just a small portion of what could be done."

The Steam security saga

Security researchers Vasily Kravets and Matt Nelson disclosed the previous zero-day vulnerability in Steam on August 7 that could enable local attackers or malware to run code on the system with elevated privileges. 

The two researchers decided to disclose [1, 2] how to exploit the flaw after Valve declined to patch it saying that it was outside the scope of their HackerOne bug bounty program.

Valve disputed the privilege escalation flaw even after it got assigned the CVE-2019-14743 identifier, reportedly telling Kravets that "the Steam threat model excludes 'Attacks that require physical access to the user's device' and 'Attacks that require the ability to drop files in arbitrary locations on the user's filesystem'."

Following massive uproar from both Steam users and security researchers, Valve eventually decided to fix the vulnerability. However, researchers considered the fix to be incomplete, a fact that got confirmation after researcher Xiaoyin Liu disclosed a bypass to Valve's fix that allows attackers to exploit the flaw again.

Kravets created the following two video demos for his second Steam privilege escalation vulnerability, showcasing the two exploitation methods attackers could use to gain SYSTEM permissions on any Windows system running an unpatched Steam version.

BleepingComputer has reached out to Valve for comment but had not heard back at the time of this publication. This article will be updated when a response is received.

We also contacted Valve for comments regarding the previously disclosed zero-day and the fix bypass found by Xiaoyin Liu but we got no reply so far.


Update August 22, 14:18 EDT: Valve's director of marketing Doug Lombardi sent the following official statement:

We are aware of the recent reports of two zero day local privilege escalation bugs related to the Steam Client. Both of these bugs used Steam to allow already installed malware to escalate from local user to administrator level privileges. Neither of these bugs could be executed remotely without first compromising a user’s machine outside of Steam. We have released updates to the Steam Client public beta channel to address these issues, and we have already pushed some initial fixes to all users. 

We are also aware that the researcher who discovered the bugs was incorrectly turned away through our HackerOne bug bounty program, where his report was classified as out of scope. This was a mistake. 

Our HackerOne program rules were intended only to exclude reports of Steam being instructed to launch previously installed malware on a user’s machine as that local user. Instead, misinterpretation of the rules also led to the exclusion of a more serious attack that also performed local privilege escalation through Steam. 

We have updated our HackerOne program rules to explicitly state that these issues are in scope and should be reported. In the past two years, we have collaborated with and rewarded 263 security researchers in the community helping us identify and correct roughly 500 security issues, paying out over $675,000 in bounties. We look forward to continuing to work with the security community to improve the security of our products through the HackerOne program. 

In regards to the specific researchers, we are reviewing the details of each situation to determine the appropriate actions. We aren’t going to discuss the details of each situation or the status of their accounts at this time. 

Related Articles:

Apple fixes two new iOS zero-days exploited in attacks on iPhones

CrushFTP warns users to patch exploited zero-day “immediately”

Palo Alto Networks fixes zero-day exploited to backdoor firewalls

Telegram fixes Windows app zero-day used to launch Python scripts

Microsoft April 2024 Patch Tuesday fixes 150 security flaws, 67 RCEs