The U.S. government National Vulnerability Database issued an advisory about a Stored Cross-Site Scripting vulnerability in the popular Popup Maker plugin for WordPress.
Popup Maker for WordPress
A vulnerability was discovered in the “Popup Maker – Popup for opt-ins, lead gen, & more” WordPress plugin which is installed in over 700,000 websites.
The Popup Maker plugin integrates with many of the most popular contact forms with features designed to drive conversions in WooCommerce stores, email newsletter signups and other popular applications related to lead generation.
Although the plugin has only been around since 2021 it has experienced phenomenal growth and earned over 4,000 five-star reviews.
Popup Maker Vulnerability
The vulnerability affecting this plugin is called stored cross-site scripting (XSS). It’s called “stored” because a malicious script is uploaded to the website and stored on the server itself.
XSS vulnerabilities generally occur when an input fails to sanitize what is being uploaded. Anywhere that a user can input data is can become vulnerable there is a lack of control over what can be uploaded.
This specific vulnerability can happen when a hacker can gain the credentials of a user with at least a contributor level of access initiates the attack.
The U.S. Government National Vulnerability Database describes the reason for the vulnerability and how an attack can happen:
“The Popup Maker WordPress plugin before 1.16.9 does not validate and escape one of its shortcode attributes, which could allow users with a role as low as contributor to perform Stored Cross-Site Scripting attacks.”
An official changelog published by the plugin author indicates that the exploit allows a person with contributor level access to run JavaScript.
The Popup Maker Plugin changelog for version V1.16.9 notes:
“Security: Patched XSS vulnerability allowing contributors to run unfiltered JavaScript.”
Security company WPScan (owned by Automattic) published a proof of concept that shows how the exploit works.
“As a contributor, put the following shortcode in a post/page
[pum_sub_form name_field_type=”fullname” label_name=”Name” label_email=”Email” label_submit=”Subscribe” placeholder_name=”Name” placeholder_email=”Email” form_layout=”block” form_alignment=”center” form_style=”default” privacy_consent_enabled=”yes” privacy_consent_label=”Notify me about related content and special offers.” privacy_consent_type=”radio” privacy_consent_radio_layout=”inline” privacy_consent_yes_label=”Yes” privacy_consent_no_label=”No” privacy_usage_text=”If you opt in above we use this information send related content, discounts and other special offers.” redirect_enabled redirect=”javascript:alert(/XSS/)”]
The XSS will be triggered when previewing/viewing the post/page and submitting the form”
While there is no description of how bad the exploit can be, in general, Stored XSS vulnerabilities can have severe consequences including full site takeover, user data exposure and the planting of Trojan horse programs.
There have been subsequent updates since the original patch was issued for version 1.16.9, including a newer update that fixes a bug that was introduced with the security patch.
The most current version of the Popup Maker plugin is V1.17.1.
Publishers who have the plugin installed should consider updating the latest version.
Citations
Read the U.S. Government National Vulnerability Database advisory:
Read the WPScan Advisory
Popup Maker < 1.16.9 – Contributor+ Stored XSS via Subscription Form
Featured image by Shutterstock/Asier Romero