Assigned : VUPEN/ADV-2005-2473
From : peter MC tachatte <slythers at gmail.com>
Subject : mambo remote code sexecution
Date : 2005-11-16
Original Message
a vulnerability exists in globals.php when register_globals is off and allow remote code inclusion
this a GLOBALS overwrite in components/com_content/content.html.php there is the line:
require_once( $GLOBALS['mosConfig_absolute_path'] .'/includes/HTML_toolbar.php' );
ok
da globals.php: if (!ini_get('register_globals')) { while(list($key,$value)=each($_FILES)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_ENV)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_GET)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_POST)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_COOKIE)) $GLOBALS[$key]=$value; while(list($key,$value)=each($_SERVER)) $GLOBALS[$key]=$value; while(list($key,$value)=@each($_SESSION)) $GLOBALS[$key]=$value; foreach($_FILES as $key => $value){ $GLOBALS[$key]=$_FILES[$key]['tmp_name']; foreach($value as $ext => $value2){ $key2 = $key . '_' . $ext; $GLOBALS[$key2] = $value2; } } }
da fake protect in mambo.php:
if (in_array( 'globals', array_keys( array_change_key_case( $_REQUEST, CASE_LOWER ) ) ) ) { die( 'Fatal error. Global variable hack attempted.' ); } if (in_array( '_post', array_keys( array_change_key_case( $_REQUEST, CASE_LOWER ) ) ) ) { die( 'Fatal error. Post variable hack attempted.' ); }
Disclaimer : VUPEN Security does not endorse the content of this
message submitted by others to public mailinglists. Messages submitted to public
mailinglists do not necessarily reflect the opinions or policies of VUPEN Security.
VUPEN Security makes no warranties, express or implied, as to the content of the message
in this page or the accuracy and reliability of any messages and other materials
submitted to public mailinglists. Any questions or comments regarding this page
should be sent to
team@vupen.com
|