Lucene search
K

CubeCart 5.2.0 - 'cubecart.class.php' PHP Object Injection

🗓️ 07 Feb 2013 00:00:00Reported by EgiXType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 36 Views

CubeCart 5.2.0 PHP Object Injection Vulnerability in cubecart.class.ph

Related
Code
ReporterTitlePublishedViews
Family
0day.today
CubeCart 5.2.0 PHP Object Injection Vulnerability
7 Feb 201300:00
zdt
Circl
CVE-2013-1465
7 Feb 201300:00
circl
CVE
CVE-2013-1465
8 Feb 201320:00
cve
Cvelist
CVE-2013-1465
8 Feb 201320:00
cvelist
exploitpack
CubeCart 5.2.0 - cubecart.class.php PHP Object Injection
7 Feb 201300:00
exploitpack
NVD
CVE-2013-1465
8 Feb 201320:55
nvd
Packet Storm
CubeCart 5.2.0 PHP Object Injection
6 Feb 201300:00
packetstorm
Prion
Code injection
8 Feb 201320:55
prion
Positive Technologies
PT-2013-3150 · Cubecart · Cubecart
8 Feb 201300:00
ptsecurity
securityvulns
[KIS-2013-02] CubeCart <= 5.2.0 (cubecart.class.php) PHP Object Injection Vulnerability
11 Feb 201300:00
securityvulns
Rows per page
-------------------------------------------------------------------------
CubeCart <= 5.2.0 (cubecart.class.php) PHP Object Injection Vulnerability
-------------------------------------------------------------------------


[-] Software Link:

http://www.cubecart.com/


[-] Affected Versions:

All versions from 5.0.0 to 5.2.0


[-] Vulnerability Description:

The vulnerable code is located in the Cubecart::_basket() method defined in the /classes/cubecart.class.php script:

519.	// Update shipping values
520.	if (isset($_POST['shipping']) && !empty($_POST['shipping'])) {
521.	    $GLOBALS['cart']->set('shipping', unserialize(base64url_decode($_POST['shipping'])));
522.	    if (!isset($_POST['proceed'])) {
523.	        httpredir(currentPage());
524.	    }
525.	}

User input passed through the $_POST['shipping'] parameter is not properly sanitized before being
used in an unserialize() call at line 521. This can be exploited to inject an arbitrary object into
the application scope. For e.g. the destructor method of the "Config" class could be abused:

78.	public function __destruct() {
79.	    //Do we need to write to the db
80.	    if ($this->_write_db) {
81.	        $this->_writeDB();
82.	    }
83.	}

By sending a specially crafted serialized "Config" object, an attacker might be able to change the
application configuration settings with arbitrary values, and this can lead to make the application
vulnerable to malicious attacks such as Cross-Site Scripting, SQL Injection or Denial of Service.


[-] Solution:

Upgrade to version 5.2.1 or higher.


[-] Disclosure Timeline:

[27/01/2013] - Issue reported to http://bugs.cubecart.com/view.php?id=511
[31/01/2013] - Version 5.2.1 released: http://forums.cubecart.com/?showtopic=47026
[31/01/2013] - CVE number requested
[04/02/2013] - CVE number assigned
[06/02/2013] - Public disclosure


[-] CVE Reference:

The Common Vulnerabilities and Exposures project (cve.mitre.org)
has assigned the name CVE-2013-1465 to this vulnerability.


[-] Credits:

Vulnerability discovered by Egidio Romano.


[-] Original Advisory:

http://karmainsecurity.com/KIS-2013-02

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation