Game servers based on the Unreal engine are vulnerable to remote code execution through malformed 'secure' queries.
|Package||games-fps/ut2003 on all architectures|
|Affected versions||<= 2225-r2|
|Unaffected versions||>= 2225-r3|
|Package||games-server/ut2003-ded on all architectures|
|Affected versions||<= 2225-r1|
|Unaffected versions||>= 2225-r2|
|Package||games-fps/ut2004 on all architectures|
|Affected versions||< 3236|
|Unaffected versions||>= 3236|
|Package||games-fps/ut2004-demo on all architectures|
|Affected versions||<= 3120-r3|
|Unaffected versions||>= 3120-r4|
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"
July 19, 2004
July 19, 2004: 01