Painkiller versions 1.35 and below suffer from a buffer overflow overflow vulnerability.
a555e4c5fd73393fcce7ae6e1c0bff2a3b6c782ac04a26703fa1e7c54bcdaace
#######################################################################
Luigi Auriemma
Application: Painkiller
https://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@autistici.org
web: https://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
(https://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
===========
https://aluigi.altervista.org/poc/painkkeybof.zip
#######################################################################
======
4) Fix
======
Version 1.61.
#######################################################################
---
Luigi Auriemma
https://aluigi.altervista.org