------------------------------------------------------------------------ Cross-Site Scripting in All In One WP Security & Firewall WordPress Plugin ------------------------------------------------------------------------ Yorick Koster, July 2016 ------------------------------------------------------------------------ Abstract ------------------------------------------------------------------------ A Cross-Site Scripting vulnerability was found in the All In One WP Security & Firewall 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/force a logged on WordPress Administrator into opening a malicious website. ------------------------------------------------------------------------ OVE ID ------------------------------------------------------------------------ OVE-20160731-0003 ------------------------------------------------------------------------ Tested versions ------------------------------------------------------------------------ These issues were successfully tested on the All In One WP Security & Firewall [2] WordPress Plugin version 4.1.4 - 4.1.9. ------------------------------------------------------------------------ Fix ------------------------------------------------------------------------ This issue has been addressed in All In One WP Security & Firewall [3] version 4.2.0. ------------------------------------------------------------------------ Introduction ------------------------------------------------------------------------ All In One WP Security & Firewall [2] is a comprehensive, user-friendly, all in one security and firewall plugin for WordPress. A Cross-Site Scripting vulnerability was found in the All In One WP Security & Firewall 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. ------------------------------------------------------------------------ Details ------------------------------------------------------------------------ This issue exists in the file admin/wp-security-dashboard-menu.php and is caused due to the lack of output encoding on the tab request parameter.
prepare_items(); //echo "put table of locked entries here"; ?>
'; } ?> display(); ?>
In order to exploit this issue, the attacker has to lure/force a logged on WordPress Administrator into opening a malicious website. ------------------------------------------------------------------------ Proof of concept ------------------------------------------------------------------------
------------------------------------------------------------------------ References ------------------------------------------------------------------------ [1] https://sumofpwn.nl/advisory/2016/cross_site_scripting_in_all_in_one_wp_security___firewall_wordpress_plugin.html [2] https://wordpress.org/plugins/all-in-one-wp-security-and-firewall/ [3] https://downloads.wordpress.org/plugin/all-in-one-wp-security-and-firewall.zip