Total Tests:

Arbitrary Variable Overwrite in eShop WordPress Plugin

Advisory ID:HTB23255
Product:eShop WordPress plugin
Vendor:Rich Pedley
Vulnerable Versions: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

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 type may result in arbitrary PHP code execution (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>

How to Detect Code Injection Vulnerabilities
Website Security Test
  • GDPR & PCI DSS Test
  • Website CMS Security Test
  • CSP & HTTP Headers Check
  • WordPress & Drupal Scanning
Try For Free

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.

[1] High-Tech Bridge Advisory HTB23255 - - Arbitrary Variable Overwrite in eShop WordPress Plugin.
[2] eShop WordPress Plugin - - eShop is an accessible shopping cart plugin for WordPress, packed with various features.
[3] Common Vulnerabilities and Exposures (CVE) - - 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) - - targeted to developers and security practitioners, CWE is a formal list of software weakness types.
[5] ImmuniWeb® - Leveraging the power of machine-learning and genius of human brain to deliver the most advanced web application security and penetration testing.
[6] ImmuniWeb® SSLScan - Test your servers for security and compliance with PCI DSS, HIPAA and NIST.

Have additional information to submit?
Please feel free to send us any additional information related to this Advisory, such as vulnerable versions, additional exploitation details and conditions, patches and other relevant details.
Book a Call Ask a Question
Talk to ImmuniWeb Experts
ImmuniWeb AI Platform
Have a technical question?

Our security experts will answer within
one business day. No obligations.

Have a sales question?
Tel: +41 22 560 6800 (Switzerland)
Tel: +1 720 605 9147 (USA)
Your data will stay private and confidential