SecurityTracker.com
    Home    |    View Topics    |    Search    |    Contact Us    |   

SecurityTracker
Archives


 


Category:   Application (Game)  >   aMule Vendors:   gnopaste.sourceforge.net
PunkBuster Buffer Overflow in WebTool Interface Lets Remote Users Deny Service
SecurityTracker Alert ID:  1016155
SecurityTracker URL:  http://securitytracker.com/id/1016155
CVE Reference:   GENERIC-MAP-NOMATCH   (Links to External Site)
Date:  May 24 2006
Impact:   Denial of service via network
Fix Available:  Yes  Vendor Confirmed:  Yes  Exploit Included:  Yes  
Version(s): prior to 1.229
Description:   Luigi Auriemma reported a vulnerability in PunkBuster. A remote user can cause denial of service conditions.

The WebTool administration web service contains a buffer overflow. A remote user can send a specially crafted webkey value that is longer than 1024 bytes to trigger the overflow and cause the target service to crash.

The web server is not enabled by default.

A demonstration exploit request is provided in the following file:

http://aluigi.org/poc/pbwebbof.txt

Impact:   A remote user can cause denial of service conditions.
Solution:   The vendor has issued a fixed version (1.229).

The vendor's advisory is available at:

http://www.punkbuster.com/index.php?page=support-all.php

Vendor URL:  www.punkbuster.com/ (Links to External Site)
Cause:   Boundary error
Underlying OS:  Linux (Any), UNIX (macOS/OS X), Windows (Any)

Message History:   None.


 Source Message Contents

Subject:  Buffer-overflow in the WebTool service of PunkBuster for servers


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

                             Luigi Auriemma

Application:  PunkBuster
              http://www.punkbuster.com
Versions:     PunkBuster for servers, versions minor than v1.229:
                America's Army                  <= v1.228
                Battlefield 1942                <= v1.158
                Battlefield 2                   <= v1.184
                Battlefield Vietnam             <= v1.150
                Call of Duty                    <= v1.173
                Call of Duty 2                  <= v1.108
                DOOM 3                          <= v1.159
                Enemy Territory                 <= v1.167
                Far Cry                         <= v1.150
                F.E.A.R.                        <= v1.093
                Joint Operations                <= v1.187
                Quake III Arena                 <= v1.150
                Quake 4                         <= v1.181
                Rainbow Six 3: Raven Shield     <= v1.169
                Rainbow Six 4: Lockdown         <= v1.093
                Return to Castle Wolfenstein    <= v1.175
                Soldier of Fortune II           <= v1.183
Platforms:    Win32, Linux and Mac
Bug:          buffer overflow in the built-in web server for the remote
              server's administration (WebTool)
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
===============


PunkBuster is the anti-cheat system developed by Even Balance
(http://www.evenbalance.com) officially used and distribuited in
almost all the most played and famous commercial multiplayer FPS games.


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

======
2) Bug
======


PunkBuster contains a built-in HTTP server called WebTool for allowing
the admins to manage their game servers remotely through a normal web
browser:

  http://www.evenbalance.com/publications/admins/#webtool

This web server is not enabled by default but must be activated
selecting the TCP port on which running the service using the command:
pb_sv_httpport PORT

The authentication mechanism is handled through a parameter called
webkey followed by the password and sent by the client using the POST
method or directly in the URL.

A webkey longer than 1024 bytes exploits a buffer-overflow which
happens when the program uses the memcpy function for copying the
attacker string in a limited buffer used for the comparison with the
valid service's password.

The following is the code from the pbsv.dll 1.183 of the game Soldier
of Fortune II where happens the exception which interrupts the game:

...
0511B3A8   8BB424 58100000  MOV ESI,DWORD PTR SS:[ESP+1058]
0511B3AF   8D4424 18        LEA EAX,DWORD PTR SS:[ESP+18]
0511B3B3   6A 41            PUSH 41
0511B3B5   50               PUSH EAX
0511B3B6   C68424 55100000 >MOV BYTE PTR SS:[ESP+1055],0
0511B3BE   FF96 54010000    CALL DWORD PTR DS:[ESI+154]
0511B3C4   8BBC24 64100000  MOV EDI,DWORD PTR SS:[ESP+1064]
...

The ESI register is controlled by the attacker.
The memcpy function described above instead is located at offset
0512aea7.


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

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


Send the following text file to the port on which is running PunkBuster
WebTool:

  http://aluigi.org/poc/pbwebbof.txt

or simply build and use a link like the following:

  http://127.0.0.1:80/pbsvweb/plist=1&webkey=aaaaaaaaaaaaa...1044...aaa


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

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


Versions v1.229 and above.


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


--- 
Luigi Auriemma
http://aluigi.org
http://mirror.aluigi.org
 
 


Go to the Top of This SecurityTracker Archive Page





Home   |    View Topics   |    Search   |    Contact Us

This web site uses cookies for web analytics. Learn More

Copyright 2019, SecurityGlobal.net LLC