Unreal Tournament 2003/2004: Buffer overflow in 'secure' queries — GLSA 200407-14

Game servers based on the Unreal engine are vulnerable to remote code execution through malformed 'secure' queries.

Affected packages

games-fps/ut2003 on all architectures
Affected versions <= 2225-r2
Unaffected versions >= 2225-r3
games-server/ut2003-ded on all architectures
Affected versions <= 2225-r1
Unaffected versions >= 2225-r2
games-fps/ut2004 on all architectures
Affected versions < 3236
Unaffected versions >= 3236
games-fps/ut2004-demo on all architectures
Affected versions <= 3120-r3
Unaffected versions >= 3120-r4

Background

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.

Description

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.

Impact

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

Workaround

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.

Resolution

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"

References

Release date
July 19, 2004

Latest revision
July 19, 2004: 01

Severity
high

Exploitable
remote

Bugzilla entries