Full Disclosure mailing list archives

Recaptcha Word Press Plugin Cross Site Scripting Vulnerability - CVE-2011-0759


From: Rodrigo Branco <rbranco () checkpoint com>
Date: Thu, 17 Mar 2011 13:11:07 -0700

Dear List,

I'm writing on behalf of the Check Point Vulnerability Discovery Team to publish the following vulnerability.




Check Point Software Technologies - Vulnerability Discovery Team (VDT)
http://www.checkpoint.com/defense/

Recaptcha WordPress Plugin Cross Site Scripting Vulnerability
CVE-2011-0759


INTRODUCTION

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.

CVSS Scoring System

The CVSS score is: 6.4
                Base Score: 6.7
                Temporal Score: 6.4
We used the following values to calculate the scores:
                Base score is: AV:N/AC:L/Au:N/C:C/I:C/A:N
                Temporal score is: E:F/RL:U/RC:C


DETAILS

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.



CREDITS

This vulnerability has been brought to our attention by Gabriel Quadros from Conviso IT Security company 
(http://www.conviso.com.br) and researched
internally by Rodrigo Rubira Branco from the Check Point Vulnerability Discovery Team (VDT).





Best Regards,

Rodrigo.

--
Rodrigo Rubira Branco
Chief Security Research
Vulnerability Discovery Team (VDT)
Check Point Software Technologies

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Current thread: