Multiple vulnerabilities in Kreed 1.05
#######################################################################
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@xxxxxxxxxxxxxx
web: http://aluigi.altervista.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
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.altervista.org/poc/kreedexec.zip
#######################################################################
======
4) Fix
======
No fix.
No reply from the vendor.
#######################################################################
---
Luigi Auriemma
http://aluigi.altervista.org