<<< Date Index >>>     <<< Thread Index >>>

Limited buffer-overflow in Painkiller 1.35



#######################################################################

                             Luigi Auriemma

Application:  Painkiller
              http://www.painkillergame.com
Versions:     <= 1.35
Platforms:    Windows
Bug:          limited buffer-overflow
Exploitation: remote, versus server (in-game)
Date:         02 Feb 2005
Author:       Luigi Auriemma
              e-mail: aluigi@xxxxxxxxxxxxx
              web:    http://aluigi.altervista.org


#######################################################################


1) Introduction
2) Bug
3) The Code
4) Fix


#######################################################################

===============
1) Introduction
===============


Painkiller is the great FPS game developed by People can Fly
(http://www.peoplecanfly.com) and released in April 2004.


#######################################################################

======
2) Bug
======


The bug is about the buffer that must contain the Gamespy cd-key hash
for the online server-side authorization.
This buffer is limited to 100 bytes (the Gamespy cd-key hash is long
72 chars), so if an attacker uses a longer hash will be able to
overflow the buffer.

However exist two limitations for the exploitation of this bug, the
first is that only alpha-numeric chars are allowed (1-9, A-Z and a-z)
while the second is not so important since this is an in-game bug, so
if a server is protected by password the attacker must know it.


#######################################################################

===========
3) The Code
===========


http://aluigi.altervista.org/poc/painkkeybof.zip


#######################################################################

======
4) Fix
======


Version 1.61.


#######################################################################


--- 
Luigi Auriemma
http://aluigi.altervista.org