Security researchers found serious vulnerabilities in the engines of several popular first-person shooter video games that could allow attackers to compromise their online servers and the computers of players accessing them.
Security researchers Luigi Auriemma and Donato Ferrante from Malta-based security consultancy firm ReVuln found memory corruption and buffer-overflow issues in "CryEngine 3," "Unreal Engine 3," "Hydrogen Engine" and "id Tech 4." These are game engines that are used in video games like "Quake 4," "Crysis 2," "Homefront," "Brink," "Monday Night Combat," "Enemy Territory: Quake Wars", "Sanctum", "Breach," "Nexuiz" and many others.
The vulnerabilities found by the two researchers can be used to launch remote code execution or denial-of-service attacks against game clients and servers by sending maliciously crafted data packets to them.
Auriemma and Ferrante presented their findings Friday at the NoSuchCon security conference in Paris and released a video showing proof-of-concept attacks against Crysis 2 and Quake 4 servers. More details about the vulnerabilities are available in a research paper released Monday.
The vulnerabilities covered in the paper haven't been disclosed in advance to the affected game developers and are not yet patched, the two researchers said Tuesday via email.
ReVuln doesn't report vulnerabilities to affected vendors. The company sells information about newly discovered vulnerabilities to third-party companies and government agencies as part of a subscription-based service.
Some of the game engine vulnerabilities disclosed in the new paper can be used to attack game servers, while others, like the ones in CryEngine 3, can be used to attack game clients, the researchers said. "Any attacker can exploit them without any user interaction or additional requirements."
An attacker could, for example, set up a rogue server for one of the affected games and list it on a master server -- a database of available game servers that gets queried by clients. This would allow him to compromise the computers of any players that join his rogue server by exploiting one of the remote code execution vulnerabilities present in the game engine.
In some cases such vulnerabilities can even be exploited when players query more information about the rogue server from the game client's multiplayer menu, the researchers said.
Servers can also be compromised or crashed by sending them malicious packets from a client. If an attacker wants to disrupt a larger community of players, he can obtain a list of available game servers from a master server and crash them at regular intervals by exploiting one of the denial-of-service flaws.
Game servers are frequently targeted in wars between different game clans, by cheaters who want to artificially increase their game rankings or by competing game server hosts, the researchers said.
"Game companies usually tend to give more importance to anti-cheating solutions than to improving the security aspects of games," they said. "In other words, they tend to care more about cheaters than people exploiting vulnerabilities on their users' systems."
Game vulnerabilities could also be used to compromise the computers of specific individuals or organizations in targeted attacks, the two researchers said. It's not just kids and teenagers that play online games, but people of all ages with different backgrounds and jobs, they said, pointing out that a game player could be a technician working at a power plant, a politician, or anyone with access to some type of sensitive information or system.
When people play games, their defenses are down and the only thing standing between their computer and attackers is a vulnerable game that often doesn't even have Windows exploit mitigation technologies like DEP (Data Execution Prevention) and ASLR (Address space layout randomization) enabled, they said.