The researchers released a video in which they demonstrate how steam:// URLs can be used to remotely exploit some vulnerabilities they found in the Steam client and popular games.
For example, the Steam protocol's "retailinstall" command can be used to load a malformed TGA splash image file that exploits a vulnerability in the Steam client to execute malicious code in the context of its process, the researchers said.
In a different example, a steam:// URL can be used to execute legitimate commands found in Valve's Source game engine in order to write a .bat file with attacker-controlled content inside of Windows Startup folder. Files located in the Windows Startup directory are automatically executed when users log in.
The Source game engine is used in many popular games including Half-Life, Counter-Strike and Team Fortress that have tens of millions of players.
Another popular game engine called Unreal supports the loading of files from remote WebDAV or SMB shared directories through command line parameters. A rogue steam:// URL can be used to load a malicious file from such a location that exploits one of the many integer overflow vulnerabilities found in the game engine to execute malicious code, the ReVuln researchers said.
The auto-update feature found in some games like APB Reloaded or MicroVolts can also be abused through steam:// URLs to create files with attacker-controlled content on the disk.
In order to protect themselves users can disable the steam:// URL protocol handler manually or with a specialized application, or can use a browser that doesn't automatically execute steam:// URLs, Auriemma said. "The downside is that the gamers who use these links locally (shortcuts) or online (web browser) to join servers or use other features of this protocol will be unable to use them."
Because Safari is one of the browsers that automatically executes steam:// URLs, Mac OS X users, which represent the majority of the browser's user base, might be more exposed to such attacks. "Mac OS is the secondary platform used on Steam and many games are available for this platform so it has a wide user base," Auriemma said.
"In our opinion Valve must remove the passing of command-line parameters to games because it's too dangerous and they can't control how these third parties software can act with malformed parameters," the researcher said.
Valve did not immediately return a request for comment.
Earlier this month Valve started to distribute select non-gaming software titles through Steam. Vulnerabilities found in such applications might also be exploitable through steam:// URLs, Auriemma said.
"In the recent months Valve invested a lot in the Steam platform launching the beta version of Steam for Linux, adding the GreenLight service where users can vote what games they would like to see available on Steam, added the Software section, added more games and some highlighted games available full for limited time, tons of free-to-play games and much more," the researcher said. "There was no better moment to notice these issues than now."
Sign up for Computerworld eNewsletters.