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"
Release date
July 19, 2004
Latest revision
July 19, 2004: 01
Severity
high
Exploitable
remote
Bugzilla entries