Buffer-overflow in the Asura engine
#######################################################################
Luigi Auriemma
Application: Asura engine (network SDK)
http://www.rebellion.co.uk
Games: Rogue Trooper <= 1.0
Prism: Guard Shield <= 1.1.1.0
...possibly others...
Platforms: Windows
Bug: challenge buffer-overflow
Exploitation: remote, versus server (in-game)
Date: 22 Aug 2007
Author: Luigi Auriemma
e-mail: aluigi@xxxxxxxxxxxxx
web: aluigi.org
#######################################################################
1) Introduction
2) Bug
3) The Code
4) Fix
#######################################################################
===============
1) Introduction
===============
Asura is a game engine written by Rebellion and used in their games.
Rogue Trooper and Prism are the only two games (as far as I know) which
use the new network protocol which leads to the vulnerability reported
in this advisory, the older games were based on DirectPlay (Judge
Dredd) and Gamespy SDK (Sniper Elite).
#######################################################################
======
2) Bug
======
A buffer-overflow vulnerability is located in the function which
handles the 0xf007 packet used for the challenge B query.
In this function the data passed by the client is copied (without
checks on its length) to a stack buffer of 256 bytes used for sending
the data back to the client, something similar to a ping.
#######################################################################
===========
3) The Code
===========
http://aluigi.org/poc/asurabof.zip
#######################################################################
======
4) Fix
======
No fix.
Rebellion is one of those vendors which have never replied to my past
mails.
#######################################################################
---
Luigi Auriemma
http://aluigi.org
http://mirror.aluigi.org