Unreal Tournament 2003/2004: Buffer overflow in 'secure' queries Game servers based on the Unreal engine are vulnerable to remote code execution through malformed 'secure' queries. Unreal Tournament 2004-07-19 2004-07-19 54726 remote 2225-r3 2225-r2 2225-r2 2225-r1 3236 3236 3120-r4 3120-r3

Unreal Tournament 2003 and 2004 are popular first-person-shooter games. They are both based on the Unreal engine, and can be used in a game server / client setup.

The Unreal-based game servers support a specific type of query called 'secure'. Part of the Gamespy protocol, this query is used to ask if the game server is able to calculate an exact response using a provided string. Luigi Auriemma found that sending a long 'secure' query triggers a buffer overflow in the game server.

By sending a malicious UDP-based 'secure' query, an attacker could execute arbitrary code on the game server.

Users can avoid this vulnerability by not using Unreal Tournament to host games as a server. All users running a server should upgrade to the latest versions.

All Unreal Tournament users should upgrade to the latest available versions:

# emerge sync # emerge -pv ">=games-fps/ut2003-2225-r3" # emerge ">=games-fps/ut2003-2225-r3" # emerge -pv ">=games-server/ut2003-ded-2225-r2" # emerge ">=games-server/ut2003-ded-2225-r2" # emerge -pv ">=games-fps/ut2004-3236" # emerge ">=games-fps/ut2004-3236" # emerge -pv ">=games-fps/ut2004-demo-3120-r4" # emerge ">=games-fps/ut2004-demo-3120-r4"
Luigi Auriemma advisory CAN-2004-0608 koon