邪恶八进制信息安全团队技术讨论组's Archiver

pub!1c 2007-3-4 10:36

Netrek 2.12.0 pmessage2() Remote Limited Format String Exploit

[code]
#######################################################################

                   Luigi Auriemma
Application:  Netrek
          [url]http://www.netrek.org[/url]
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->\0\0\0";

  strcat(from_str, me->p_mapchars);
  pmessage2(0, 0, from_str, me->p_no, temp);
}


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

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

[url]http://aluigi.org/poc/netrekfs.zip[/url]
[url]http://www.milw0rm.com/sploits/03022007-netrekfs.zip[/url]

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

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

Version 2.12.1

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



[/code]

页: [1]
© 1999-2008 EvilOctal Security Team