[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Arbitrary Variable Overwrite in eShop WordPress Plugin



Advisory ID: HTB23255
Product: eShop WordPress plugin
Vendor: Rich Pedley 
Vulnerable Version(s): 6.3.11 and probably prior
Tested Version: 6.3.11
Advisory Publication:  April 15, 2015  [without technical details]
Vendor Notification: April 15, 2015 
Public Disclosure: May 6, 2015 
Vulnerability Type: Code Injection [CWE-94]
CVE Reference: CVE-2015-3421
Risk Level: Medium 
CVSSv2 Base Score: 6.4 (AV:N/AC:L/Au:N/C:P/I:P/A:N)
Discovered and Provided: High-Tech Bridge Security Research Lab ( 
https://www.htbridge.com/advisory/ ) 

-----------------------------------------------------------------------------------------------

Advisory Details:

High-Tech Bridge Security Research Lab discovered security vulnerability in 
eShop WordPress Plugin, which can be exploited by remote attacker to overwrite 
arbitrary PHP variables within the context of the vulnerable application. The 
vulnerability exists due to insufficient validation of user-supplied input in 
"eshopcart" HTTP cookie. Successful exploitation of this vulnerability may 
potentially result in arbitrary PHP code execution (RCE).
 
Often such type of vulnerabilities lead to RCE, however in this case we can 
only overwrite string variables within the scope of 'eshop_checkout()' function 
in '/wp-content/plugins/eshop/checkout.php' file. This reduces our current 
vectors of exploitation to Full Path Disclosure and Cross-Site Scripting. 

Below is a simple PoC that overwrites contents of the "wpdb" PHP variable, 
which causes an error in code and discloses full installation path:


GET /shopping-cart-2/checkout/ HTTP/1.1
Cookie: eshopcart=wpdb%3d1%7C; 


Another PoC triggers the XSS vector and executes JS pop-up box displaying 
"ImmuniWeb":


GET /shopping-cart-2/checkout/ HTTP/1.1
Cookie: eshopcart=phone%3dsdfg'"><script>alert(/ImmuniWeb/)</script>



-----------------------------------------------------------------------------------------------

Solution:

Disclosure timeline:
2015-04-15 Vendor Alerted via contact form and thread in support forum, no 
reply.
2015-04-29 Vendor Alerted via contact form and emails, no reply.
2015-05-05 Fix Requested via contact form and emails, no reply.
2015-05-06 Public disclosure.

Currently we are not aware of any official solution for this vulnerability.

-----------------------------------------------------------------------------------------------

References:

[1] High-Tech Bridge Advisory HTB23255 - 
https://www.htbridge.com/advisory/HTB23255 - Arbitrary Variable Overwrite in 
eShop WordPress Plugin.
[2] eShop WordPress Plugin - http://quirm.net/ - eShop is an accessible 
shopping cart plugin for WordPress, packed with various features.
[3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ - 
international in scope and free for public use, CVE® is a dictionary of 
publicly known information security vulnerabilities and exposures.
[4] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to 
developers and security practitioners, CWE is a formal list of software 
weakness types.
[5] ImmuniWeb® SaaS - https://www.htbridge.com/immuniweb/ - hybrid of manual 
web application penetration test and cutting-edge vulnerability scanner 
available online via a Software-as-a-Service (SaaS) model.

-----------------------------------------------------------------------------------------------

Disclaimer: The information provided in this Advisory is provided "as is" and 
without any warranty of any kind. Details of this Advisory may be updated in 
order to provide as accurate information as possible. The latest version of the 
Advisory is available on web page [1] in the References.