NetPanzer 'frameNum' Error Lets Remote Users Deny Service
|
|
SecurityTracker Alert ID: 1016149 |
|
SecurityTracker URL: http://securitytracker.com/id/1016149
|
|
CVE Reference:
CVE-2006-2575
(Links to External Site)
|
Updated: Sep 5 2009
|
Original Entry Date: May 24 2006
|
Impact:
Denial of service via network
|
Exploit Included: Yes
|
Version(s): 0.8 (rev 952) and prior versions
|
Description:
Luigi Auriemma reported a vulnerability in NetPanzer. A remote user can cause denial of service conditions.
A remote user can send specially crafted data to the target game service to cause the service to crash.
The vulnerability resides in 'src/Lib/2D/Surface.hpp' in the processing of the frameNum flag. A value greater than 41 can trigger the flaw.
A demonstration exploit URL is provided:
http://aluigi.org/poc/panza.zip
|
Impact:
A remote user can cause denial of service conditions.
|
Solution:
No solution was available at the time of this entry.
|
Vendor URL: www.netpanzer.org/ (Links to External Site)
|
Cause:
Input validation error
|
Underlying OS:
Linux (Any), UNIX (Any), Windows (Any)
|
|
Message History:
None.
|
Source Message Contents
|
Date: Tue, 23 May 2006 19:17:46 +0200
Subject: Server termination in netPanzer 0.8 (rev 952)
|
#######################################################################
Luigi Auriemma
Application: netPanzer
http://www.netpanzer.org
http://netpanzer.berlios.de
Versions: <= 0.8 (rev 952)
Platforms: *nix, *BSD, Windown, Mac and others
Bug: server termination
Exploitation: remote, versus server
Date: 23 May 2006
Author: Luigi Auriemma
e-mail: aluigi@autistici.org
web: aluigi.org
#######################################################################
1) Introduction
2) Bug
3) The Code
4) Fix
#######################################################################
===============
1) Introduction
===============
netPanzer is a nice and well known open source multiplayer strategy
game.
#######################################################################
======
2) Bug
======
The game is affected by a denial of service which happens when a client
uses a flag (called also frameNum) major than 41 since the setFrame
function in src/Lib/2D/Surface.hpp checks if this number is minor than
frameCount:
void setFrame(const float &frameNum)
{
assert(frameNum >= 0.0);
assert(frameNum < frameCount);
mem = frame0 + (pix.y * stride) * int(frameNum);
}
The result is the immediate interruption of the server:
netpanzer: src/Lib/2D/Surface.hpp:370: void Surface::setFrame(const
float&): Assertion `frameNum < frameCount' failed. Received signal
SIGABRT(6) aborting and trying to shutdown.
Closing logfile.
Aborted
#######################################################################
===========
3) The Code
===========
http://aluigi.org/poc/panza.zip
#######################################################################
======
4) Fix
======
No fix.
No reply from the developers.
#######################################################################
---
Luigi Auriemma
http://aluigi.org
http://mirror.aluigi.org
|
|