Recaptcha WordPress Plugin Cross Site Scripting Vulnerability

Vulnerable Systems:
* Recaptcha WordPress Plugin

The WordPress Recaptcha Plugin “integrates reCAPTCHA antispam methods with WordPress including comment, registration, and email spam protection”.

This advisory describes multiple Stored Cross Site Scripting (XSS) vulnerabilities and one Cross Site Request Forgery (CSRF) vulnerability on the plugin. As a result, an attacker can gain elevated access privileges to sensitive page content, session cookies, and a variety of other information maintained by the browser on behalf of the WordPress administrator user. Furthermore, the attacker can perform actions administrative powers.

This problem was confirmed in the latest version of the plugin, other versions maybe also affected.

The plugin’s configuration page is vulnerable to Stored Cross Site Scripting. Various fields are received through POST and included on the response page with little sanitization.

The vulnerable code is shown next:

749: <input name=”recaptcha_opt_pubkey” id=”recaptcha_opt_pubkey” size=”40″
value=”<?php echo $optionarray_def['pubkey']; ?>” />
753: <input name=”recaptcha_opt_privkey” id=”recaptcha_opt_privkey” size=”40″
value=”<?php echo $optionarray_def['privkey']; ?>” />
782: <input name=”re_tabindex” id=”re_tabindex” size=”5″ value=”<?php echo
$optionarray_def['re_tabindex']; ?>” />
814: <input name=”error_blank” id=”error_blank” size=”80″ value=”<?php echo $optionarray_
def['error_blank']; ?>” />
818: <input name=”error_incorrect” id=”error_incorrect” size=”80″ value=”<?php
echo $optionarray_def['error_incorrect']; ?>” />
865: <input name=”mailhide_pub” id=”mailhide_pub” size=”40″ value=”<?php echo
$optionarray_def['mailhide_pub']; ?>” />
869: <input name=”mailhide_priv” id=”mailhide_priv” size=”40″ value=”<?php echo
$optionarray_def['mailhide_priv']; ?>” />
888: <input name=”mh_replace_link” id=”mh_replace_link” size=”40″ value=”<?php
echo $optionarray_def['mh_replace_link']; ?>” />
891: <input name=”mh_replace_title” id=”mh_replace_title” size=”40″ value=”<?php
echo $optionarray_def['mh_replace_title']; ?>” />

These vulnerabilities allow an attacker to insert HTML/JavaScript commands to be interpreted in the session of an authenticated administrator user.

Since the plugin’s configuration page is not protected against Cross Site Request Forgery, the exploitation permits the attacker to inject configuration values. This flaw allows an attacker to change the reCAPTCHA configuration, like disabling CAPTCHA for comments and registration forms.

Proof of concept exploitation code is available to interested parties.

CVE Information:

Disclosure Timeline:
Date: Thu, 17 Mar 2011

Facebook Twitter Linkedin Digg Stumbleupon Email

Υποβολή Σχολίου