[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : Netrek 2.12.0 pmessage2() Remote Limited Format String Exploit
# Published : 2007-03-02
# Author : Luigi Auriemma
# Previous Title : PHP <= 4.4.4 unserialize() ZVAL Reference Counter Overflow Exploit PoC
# Next Title : DivX Web Player 1.3.0 (npdivx32.dll) Remote Denial of Service Exploit
#######################################################################
Luigi Auriemma
Application: Netrek
http://www.netrek.org
Versions: <= 2.12.0 (Vanilla server)
Platforms: *nix and Windows
Bug: format string
Exploitation: remote (in-game)
Date: 02 Mar 2007
Author: Luigi Auriemma
e-mail: aluigi@autistici.org
web: aluigi.org
#######################################################################
1) Introduction
2) Bug
3) The Code
4) Fix
#######################################################################
===============
1) Introduction
===============
Netrek is a well known real-time strategy game inspired to Star Trek.
#######################################################################
======
2) Bug
======
The Vanilla server is affected by a format string vulnerability caused
by the calling of the pmessage2() function without the needed format
argument.
The bug is located in new_warning() and can be exploitated through the
locking of a player (the same attacker too) who is using a malformed
nickname.
Note that the EVENTLOG switch must be enabled for exploiting this
vulnerability (default is disabled).
from ntserv/warning.c:
void new_warning(int index, const char *fmt, ...) {
char temp[150];
va_list args;
va_start(args, fmt);
vsprintf(temp, fmt, args);
...
if (eventlog) {
char from_str[9]="WRN->