Details
================
Software: WordPress
Version: 3.8.1,3.8.2,4.2.2
Homepage: http://wordpress.org/
Advisory report: https://security.dxw.com/advisories/comment-form-csrf-allows-admin-impersonation-via-comments-in-wordpress-4-2-2/
CVE: Awaiting assignment
CVSS: 4.3 (Medium; AV:N/AC:M/Au:N/C:N/I:P/A:N)
Description
================
Comment form CSRF in WordPress 4.2.2 allows admin impersonation via comments
Vulnerability
================
When posting comments,WordPress does not require a nonce value (unless posting unfiltered HTML). This means that an attacker can force a logged-in user to post arbitrary comments.
For this to happen, the logged-in userwould have to be tricked into clicking on a link controlled by the attacker. It is easy to make these links very convincing.
The line which verifies the nonce when using unfiltered HTML is line 154 of wp-comments-post.php.
EDIT: this issue has been known about since 2009, but it appears that no fix is planned https://core.trac.wordpress.org/ticket/10931
Proof of concept
================
Log in, visit an URL containing the following (replacing localhost as appropriate, replacing 1 with the ID of a post), click submit:
<form method=\"POST\" action=\"http://localhost/wp-comments-post.php\">
<input type=\"text\" name=\"comment_post_ID\" value=\"1\">
<input type=\"text\" name=\"comment\" value=\"UH OH\">
<input type=\"submit\">
</form>
(In a real attack the form can be made to auto-submit using Javascript)
Mitigations
================
Disable commentsuntil a new version is released that fixes this bug
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
================
2009-10-19: Ticket raised by mtdewvirus
2014-03-20:Discovered independently by dxw
2015-07-14: Reported to security@wordpress.org
2015-07-14: Requested CVE
2015-07-17: Response fromnikolay@automattic.com
2015-08-05: Published
Discovered by dxw:
================
Tom Adams
Please visit security.dxw.com for more information.