####################################################################### Luigi Auriemma Application: Kreed http://www.kreed3d.com Versions: <= 1.05 Platforms: Windows Bugs: A] in-game format string B] forced exit caused by "message too long" C] server temporary freezed by script errors Exploitation: remote, versus server Date: 02 December 2004 Author: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduction 2) Bugs 3) The Code 4) Fix ####################################################################### =============== 1) Introduction =============== Kreed is a FPS game developed by Burut (http://www.burut.ru) and published by Russobit-M (http://russobit-m.ru). The game has been released at August 2003. ####################################################################### ======= 2) Bugs ======= ------------------------ A] in-game format string ------------------------ An attacker can exploit a format string bug in the server using a nickname or sending a message containing format arguments like the classical %n%n%n. ------------------------------------------- B] forced exit caused by "message too long" ------------------------------------------- An attacker can force the exit of the server simply sending an UDP packet of 1401 or more bytes. That causes a "message too long" socket error in the server that handles it as critical. -------------------------------------------- C] server temporary freezed by script errors -------------------------------------------- Some errors in the scripts used by the server to handle the players are the cause of this third bug. If an attacker uses a very long nickname or model type, on the server will appear some consecutive dialog boxes reporting script errors. The problem is that the server is completely freezed until the dialogs stay on the screen and the game returns normal only when the admin removes them. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/kreedexec.zip ####################################################################### ====== 4) Fix ====== No fix. No reply from the vendor. #######################################################################