The Popular WooCommerce Booster plugin patched a Reflected Cross-Site Scripting vulnerability, affecting up to 70,000+ websites using the plugin.
Booster for WooCommerce Vulnerability
Booster for WooCommerce is a popular all-in-one WordPress plugin that offers over 100 functions for customizing WooCommerce stores.
The modular bundle offers all of the most essential functionalities necessary to run an ecommerce store such as a custom payment gateways, shopping cart customization, and customized price labels and buttons.
Reflected Cross Site Scripting (XSS)
A reflected cross-site scripting vulnerability on WordPress generally happens when an input expects something specific (like an image upload or text) but allows other inputs, including malicious scripts.
An attacker can then execute scripts on a site visitor’s browser.
If the user is an admin then there can be a potential for the attacker stealing the admin credentials and taking over the site.
The non-profit Open Web Application Security Project (OWASP) describes this kind of vulnerability:
“Reflected attacks are those where the injected script is reflected off the web server, such as in an error message, search result, or any other response that includes some or all of the input sent to the server as part of the request.
Reflected attacks are delivered to victims via another route, such as in an e-mail message, or on some other website.
…XSS can cause a variety of problems for the end user that range in severity from an annoyance to complete account compromise.”
As of this time the vulnerability has not been assigned a severity rating.
This is the official description of the vulnerability by the U.S. Government National Vulnerability Database:
“The Booster for WooCommerce WordPress plugin before 5.6.3, Booster Plus for WooCommerce WordPress plugin before 6.0.0, Booster Elite for WooCommerce WordPress plugin before 6.0.0 do not escape some URLs and parameters before outputting them back in attributes, leading to Reflected Cross-Site Scripting.”
What that means is that the vulnerability involves a failure to “escape some URLs,” which means to encode them in special characters (called ASCII).
Escaping URLs means encoding URLs in an expected format. So if a URL with a blank space is encountered a website may encoded that URL using the ASCII characters “%20” to represent the encoded blank space.
It’s this failure to properly encode URLs which allows an attacker to input something else, presumably a malicious script although it could be something else like a redirection to malicious site.
Changelog Records Vulnerabilities
The plugins official log of software updates (called a Changelog) makes reference to a Cross Site Request Forgery vulnerability.
The free Booster for WooCommerce plugin changelog contains the following notation for version 6.0.1:
“FIXED – EMAILS & MISC. – General – Fixed CSRF issue for Booster User Roles Changer.
FIXED – Added Security vulnerability fixes.”
Users of the plugin should consider updating to the very latest version of the plugin.
Read the advisory at the U.S. Government National Vulnerability Database
Read a summary of the vulnerability at the WPScan website
Booster for WooCommerce – Reflected Cross-Site Scripting
Featured image by SMM Panel/Asier Romero