------------------------------------------------------------------------ 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.