Battlefield 1942 and Vietnam Broadcast Client Crash
8 Dec. 2004
Summary
Battlefield 1942 and Vietnam are two of the most known and played FPS games based on the relative military conflicts. They are developed by Digital Illusions and have been released respectively at September 2002 and March 2004.
A vulnerability in the way Battlefield 1942 and Vietnam parsers incoming data allows an attacker to cause the program to crash.
Credit:
The information has been provided by Luigi Auriemma.
Vulnerable Systems:
* Battlefield 1942 versions 1.6.19 and prior
* Battlefield Vietnam versions 1.2 and prior
Immune Systems:
* Battlefield 1924 version 1.6.1b
* Battlefield Vietnam version 1.21b
Just like any other multiplayer server, Battlefield contacts a master server and queries it in order to discover the existence of other game servers. The client then queries each of the game servers for information about games which is displayed in the in-game display browser.
A problem exists while parsing replies from game servers. When a very large number of players ("numplayers" parameter) is reported to the client, by a server, the client freezes completely and a few seconds later will generate a fault due to an access to a NULL pointer.
This is a passive broadcast attack in which an attacker is able to crash any client if the attacker is visible on the game server.
A proof of concept code for this Denial Of Service vulnerability is listed below.