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

Multiple XSS Vulnerabilities in Paid Memberships Pro WordPress Plugin



Advisory ID: HTB23264
Product: Paid Memberships Pro WordPress plugin
Vendor: Stranger Studios 
Vulnerable Version(s): 1.8.4.2 and probably prior
Tested Version: 1.8.4.2
Advisory Publication:  July 1, 2015  [without technical details]
Vendor Notification: July 1, 2015 
Vendor Patch: July 8, 2015 
Public Disclosure: July 22, 2015 
Vulnerability Type: Cross-Site Scripting [CWE-79]
CVE Reference: CVE-2015-5532
Risk Level: Medium 
CVSSv2 Base Score: 4.3 (AV:N/AC:M/Au:N/C:N/I:P/A:N)
Solution Status: Fixed by Vendor
Discovered and Provided: High-Tech Bridge Security Research Lab ( 
https://www.htbridge.com/advisory/ ) 

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

Advisory Details:

High-Tech Bridge Security Research Lab discovered vulnerability in Paid 
Memberships Pro WordPress plugin, which can be exploited to perform Cross-Site 
Scripting (XSS) attacks against website administrators.


1) Cross-Site Scripting (XSS) in Paid Memberships Pro WordPress plugin: 
CVE-2015-5532

1.1 Input passed via "s" HTTP GET parameter to "/wp-admin/admin.php" (when 
"page" is set to "pmpro-membershiplevels") is not properly sanitised before 
being returned to the user. A remote attacker can trick a logged-in 
administrator to open a specially crafted link and execute arbitrary HTML and 
script code in browser in context of the vulnerable website.

The exploitation example below uses the "alert()" JavaScript function to 
display "ImmuniWeb" word:

http://[host]/wp-admin/admin.php?page=pmpro-membershiplevels&s=%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

1.2 Input passed via "edit" HTTP GET parameter to "/wp-admin/admin.php" (when 
"page" is set to "pmpro-membershiplevels") is not properly sanitised before 
being returned to the user. A remote attacker can trick a logged-in 
administrator to open a specially crafted link and execute arbitrary HTML and 
script code in browser in context of the vulnerable website.

The exploitation example below uses the "alert()" JavaScript function to 
display "ImmuniWeb" word:

http://[host]/wp-admin/admin.php?page=pmpro-membershiplevels&edit=%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

1.3 Input passed via "s" HTTP GET parameter to "/wp-admin/admin.php" (when 
"page" is set to "pmpro-memberslist") is not properly sanitised before being 
returned to the user. A remote attacker can trick a logged-in administrator to 
open a specially crafted link and execute arbitrary HTML and script code in 
browser in context of the vulnerable website.

The exploitation example below uses the "alert()" JavaScript function to 
display "ImmuniWeb" word:

http://[host]/wp-admin/admin.php?l&page=pmpro-memberslist&s=%22%3E%3Cscript%3Ealert%28%27ImmuniWeb%27%29;%3C/script%3E

1.4 Input passed via "s" HTTP GET parameter to "/wp-admin/admin.php" (when 
"page" is set to "pmpro-orders") is not properly sanitised before being 
returned to the user. A remote attacker can trick a logged-in administrator to 
open a specially crafted link and execute arbitrary HTML and script code in 
browser in context of the vulnerable website.

The exploitation example below uses the "alert()" JavaScript function to 
display "ImmuniWeb" word:

http://[host]/wp-admin/admin.php?filter=all&start-month=1&start-day=1&start-year=2015&end-month=6&end-day=22&end-year=2015&predefined-date=This+Month&l=1&status&page=pmpro-orders&s=%22%3E%3Cscript%3Ealert%28%27immuniweb%27%29;%3C/script%3E

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

Solution:

Update to Paid Memberships Pro 1.8.4.3

More Information:
http://www.paidmembershipspro.com/2015/07/pmpro-updates-1-8-4-3-and-1-8-4-4/
https://github.com/strangerstudios/paid-memberships-pro/commit/add03e3ed90e9163e5a46e20e6c371a87ff5a677

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

References:

[1] High-Tech Bridge Advisory HTB23264 - 
https://www.htbridge.com/advisory/HTB23264 - Multiple XSS Vulnerabilities in 
Paid Memberships Pro WordPress Plugin.
[2] Paid Memberships Pro WordPress plugin - http://www.strangerstudios.com/ - 
Paid Memberships Pro is the community solution for adding paid memberships to 
your WordPress site.
[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.