[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : RunCMS <= 1.6 Local File Inclusion Vulnerability
# Published : 2007-11-24
# Author : BugReport.IR
# Previous Title : project alumni <= 1.0.9 Remote XSS / SQL Injection Vulnerability
# Next Title : Irola My-Time 3.5 Remote SQL Injection Vulnerability
########################## WwW.BugReport.ir ###########################################
#
# AmnPardaz Security Research & Penetration Testing Group
#
# Title: RunCms Multiple Vulnerabilities
# Vendor: http://www.runcms.org/
# Bugs: Local File Inclusion, Modules Authorization Weakness
# Vulnerable Version: RunCMS 1.6 Halloween, 1.5.x (prior versions also may be affected)
# Exploitation: Remote with browser
# Exploit: Available
# Fix Available: No!
#######################################################################################
# Leaders : Shahin Ramezany & Sorush Dalili
# Team Members: Alireza Hasani ,Amir Hossein Khonakdar, Hamid Farhadi
# Security Site: WwW.BugReport.ir - WwW.AmnPardaz.Com
# Country: Iran
# Contact : admin@bugreport.ir
######################## Bug Description ###########################
Description:
--------------------
RunCMS is a comprehensive content management system (CMS) where ease of use,
speed, & flexibility are the main development key points.
RunCMS is a CMS coming from the cores of E-Xoops. E-Xoops 1.05r3 was the last version with the E-Xoops name.
Vulnerabilities:
--------------------
+-->Local File Inclusion (Remote Code Execution)
Code Snippet:
/include/common.php line#131-143
// ################# :: Register Globals Compatibility :: #################
$globals_test = @ini_get('register_globals');
if (isset($globals_test) && empty($globals_test))
{
// These still need some work :: Cookie|Server|Env are ok now.
if ( !empty($HTTP_GET_VARS) ) { extract($HTTP_GET_VARS, EXTR_SKIP); }
if ( !empty($HTTP_POST_VARS) ) { extract($HTTP_POST_VARS, EXTR_SKIP); }
define('_GLOBALS', FALSE);
}
else
{
define('_GLOBALS', TRUE);
}
/include/common.php line#276-280
// ################ Include page-specific lang file ##################
if (isset($xoopsOption['pagetype']))
{
rc_include_lang_file($xoopsOption['pagetype'].".php");
}
$xoopsOption['pagetype'] is not defined by default, so it's possible for an attacker to define
it by both $_GET or $_POST methods to conduct Local file inclusion!
Furthermore RunCms doesn't properly validate the content of user supplied Uploads!
Attacker could upload php codes with .gif extension and include it using above vulnerability!
POC: http://localhost/runcms_1.6/modules/news/?xoopsOption[pagetype]=../../images/avatar/users/[uid].gif%00
+-->Modules Authorization Weakness (Remote Code Execution)
There is a logical weakness in the Structure of Modules Authorization mechanism.
When a module is not installed by the site admin, anyone (groups of Anonymous Users) can access modulea