Month: August 2017

threat intercept

Threat Intercept: SiteLock Discovers XSS Vulnerability in WooCommerce Extension

By Ramuel Gall
This article was co-authored by Product Evangelist Logan Kipp.

THREAT SUMMARY

Low Threat
WordPress Website Security Threat Level
Learn More

Category: XSS – Reflected

Trend Identified: 7/25/2017

CVE ID: N/A

Threat Name: N/A

Vector: Browser/Javascript

The threat rating was determined using the following metrics:

Complexity:

MEDIUM: While initial exploitation is low complexity, weaponization requires action from the victim.

Confidentiality Impact:

MEDIUM: Successful exploitation of this vulnerability could potentially hijack individual browser sessions.

Integrity Impact:

MEDIUM: Successful exploitation of this vulnerability could potentially hijack individual browser sessions.

What is it?

SiteLock recently found a reflected cross-site scripting (XSS) vulnerability in the WooCommerce “Product Vendors” plugin for WordPress. Reflected XSS vulnerabilities differ from persistent XSS in that each attack is completed in the duration of a single session, rather than permanently modifying the impact site. According to the Open Web Application Security Project (http://www.owasp.org):

The variety of attacks based on XSS is almost limitless, but they commonly include transmitting private data, like cookies or other session information, to the attacker, redirecting the victim to web content controlled by the attacker, or performing other malicious operations on the user’s machine under the guise of the vulnerable site.

 

Who is impacted?

Websites running the WooCommerce “Product Vendors” plugin versions 2.0.35 and older are vulnerable to this exploit. Fortunately, Automattic (WooCommerce’s parent company) patched the vulnerability almost immediately after being contacted by SiteLock. Unfortunately, many site owners do not update their plugins frequently, or at all. If you use Product Vendors for WooCommerce, make sure that you are running the most recent version (v2.0.38 at the time of writing).

 

How was it found?

Our automated scanner alerted us to an XSS vulnerability on a customer’s website, which we determined was due to the WooCommerce “Product Vendors” plugin. What was unusual in this case is that the vulnerable plugin was, at the time, the most recent version, so no patches were yet available for the vulnerability. We immediately contacted Automattic concerning our findings in following our Responsible Disclosure Policy, provided all relevant information on the vulnerability, and coordinated this disclosure.

 

Remediation Steps

The simplest way to fix this vulnerability is to update the plugin to the newest version, which was patched less than a week after the vulnerability was reported. Fortunately for SiteLock TrueShield customers, emergency policy updates were pushed to protect against this vulnerability as soon as it was discovered. However, we still recommend updating WooCommerce Product Vendors to the latest version.

 

Technical details

Overview

WooCommerce Product Vendors is a WordPress plugin which allows eCommerce sites to create a marketplace with multiple vendors, taking commissions from each vendor’s sales. The XSS vulnerability was found in the Vendor Signup form, which can be placed anywhere on the site.

 

Cause

This version of the plugin has a reflected XSS vulnerability because the $_POST parameter for vendor_description, which allows vendors to insert a description of their company, is not properly escaped, allowing arbitrary JavaScript to be executed in a visitor’s browser.

 

Reproduction Steps

In this case, the issue was reproduced using the below cURL request, and verified when the output showed the unaltered script.

Exploitability

$_POST parameter XSS vulnerabilities are often underestimated because it’s not possible to exploit them by directly sending a victim to the vulnerable URL. This difficulty is easily circumvented by first directing the victim to an attacker-controlled form that uses JavaScript to submit itself. As $_POST parameters are not directly visible in the URL, this also hides any suspicious parameters that would appear in a $_GET exploit. Additionally, as $_POST requests do not have the same character limit as $_GET requests, a larger payload can be delivered.

Note: It is also possible to craft a data:// URL that includes a self-submitting form, negating the need for the attacker to control another site. However, many browsers impose a length limit on data URLs, and data URLs are unusual enough to elicit suspicion in a potential victim.

 

Impact

As with all reflected XSS vulnerabilities, the impact depends on the ingenuity of the attacker. Reflected XSS allows an attacker to take control of the victim’s browser for as long as the tab is open on the vulnerable site, and victims are far more likely to leave a tab open on a site that appears to be legitimate. Stealing credentials, hijacking sessions, or exfiltrating payment information entered on the vulnerable site may also be possible, depending on the site’s configuration and the security measures in place.

 

Remediation

If updating to the latest version is not possible, this vulnerability can also be patched by escaping the $_POST[‘vendor_description’] parameter on line 61 of wp-content/plugins/woocommerce-product-vendors/templates/shortcode-registration-form.php using the esc_attr() WordPress function.

 

Tags:   threat intercept, vulnerability, xss, zero day
Categories:  WordPress security
WordCamp Denver 2017

WordCamp Denver 2017 – WordPress Knowledge Stacked a Mile High

By Adam Warner

Last week we found ourselves in Denver, CO for another amazing WordCamp. We sponsored the event as part of our global sponsorship program, which also included table space that gave us ample opportunity to meet existing SiteLock customers and explain our website security services to those new to the WordPress community.

Tags:   recap, sitelock events, wordcamp denver 2017
Categories:  WordCamp
WordPress User Roles

What Kind of WordPress Are You?

By Adam Warner

The WordPress software has come a long way since its humble beginning in 2003. I can’t imagine that Matt Mullenweg and Mike Little had any idea how much their fork of the b2 cafelog blogging platform would grow, let alone establish a worldwide community of users.

I consider myself lucky to have found WordPress in early 2005, just over a year after its creation. In the almost twelve years since that time, I’ve held  many different WordPress titles and have transformed the way I’ve used it. There are different meanings of the word “users” when it comes to WordPress, and in this post I’m going to discuss some of those definitions.

Tags:   roles, types, user
Categories:  WordPress Benefits
WordPress Help

5 Best Places to Find WordPress Help

By Adam Warner

Whether you’ve just started using WordPress or have been an avid user for years, it’s likely that you regularly come up with specific questions on how to fix or improve your website or blog. In this post, I’ll detail my top five favorite sources for finding WordPress help.

Tags:   help, questions, support
Categories:  WordPress Benefits
WordCamp Minneapolis 2017

WordCamp Minneapolis / St. Paul 2017 – Double the Fun

By Adam Warner

I’ve just returned from WordCamp Minneapolis / St. Paul, and what a camp it was! This year’s event was held at the Humphrey School of Public Affairs and Hanson Hall buildings at the University of Minnesota West Bank.

An impressive 450 attendees descended on the Twin Cities to learn and share all things WordPress. If you look close at the image below, you’ll see two planes in addition to the one I was on, all landing in Minneapolis. I’d like to think there were some other excited WordCampers coming in at the same time as my own flight.

SiteLock was among the 450 attendees, and we also  sponsored the event. We were there in full force with copious amounts of swag and a $200 Amazon gift card for our raffle.

Tags:   recap, sitelock events, WordCamp Minneapolis
Categories:  WordCamp