A string of vulnerabilities have been discovered in the popular Steam gaming platform that allow attackers to compromise user machines.
The flaws target game engine vulnerabilities including overflows, the ability to write arbitrary text to file and direct victims to external payloads.
Attackers could compromise victim machines by crafting malicious links using the steam:// URL protocol. This could work in normal web browsers but also within the in-built Steam browser.
Italian security researchers Lugi Auriemma and Donato Ferrante reported the flaws under their new subscription vulnerability firm ReVuln.
They said browsers including Firefox and software clients including RealPlayer would execute the external URL handler without warnings and were “a perfect vector to perform silent Steam browser protocol calls”.
“Additionally for browsers like Internet Explorer and Opera it’s still possible to hide the dodgy part of the URL from being showed in the warning message by adding several spaces into the steam:// URL itself,” they wrote in a paper (pdf).
In one proof of concept involving the Steam browser, attackers used malicious YouTube links within Steam user profiles to bait users.
Users who viewed the videos and wished to leave comments would be phished with malicious steam:// URLs that pointed to external sites.
From there, attackers could exploit vulnerabilities within gaming engines to remotely compromise user machines.
One attack involved loading malicious code via the retailinstall command, an undocumented feature of the Steam browser which allowed installation of backups from external sites.
Attackers could trigger a heap-based buffer-overflow by forcing Steam to load malformed TGA files.
“The Steam function in charge of processing the splash images (triggered during loading of TGA files) is vulnerable to an integer overflow vulnerability while processing malformed TGA files. The problem is located in LoadTGA function of vgui2_s.dll that loads TGA files in memory. The result is a heap-based buffer-overflow that may allow executing malicious code on the Steam process.”
Attackers can also pass remote undocumented command line arguments to games via Steam’s browser.
The researchers demonstrated how users on the massive Source game engine, which hosts games like Half-Life and CounterStrike, could be attacked.
They used four commands to write custom code to file, including a bat file that executed commands when users started up Steam.
They were also able to execute remote malicious code via the Unreal engine which was “affected by many integer overflow vulnerabilities”.
Attackers could also attack users of the All Points Bulletin (APB) game to hijack user machines with custom malicious content via a remote directory traversal vulnerability. The Mirovolts online game could also be attacked in this way.
“On Steam there are tons of (Massive Multiplayer Online) games free-to-play like APB so the user base is very big and most of them can be exploited with such techniques,” the researchers wrote.
“Additionally most of these games use anti-cheating solutions and require to be launched with administrator permissions so the whole system can be compromised.”
Users can safeguard themselves by disabling the steam:// URL handler.
The vulnerabilities would ultimately require a fix from the developers of Steam and the respective game engines.