[Full-disclosure] Related Posts Word Press Plugin Cross Site Scripting Vulnerability - CVE-2011-0760



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/

Related Posts WordPress Plugin Cross Site Scripting Vulnerability
CVE-2011-0760


INTRODUCTION

The WordPress Related Posts Plugin (http://WordPress.org/extend/plugins/wp-related-posts/) shows the posts related to others posts.

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 with 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. The three fields wp_relatedposts_ title, wp_relatedposts_num and
wp_relatedposts_type are received through POST or GET and included on the response page with little sanitization. The vulnerable code is shown next:

158: <tr valign="top">
159: <th scope="row">Title:</th>
160: <td><input type="text" name="wp_relatedposts_title" value="<?=$options['
title']?>"></td>
161: </tr>
162: <tr valign="top">
163: <th scope="row">Number posts:</th>
164: <td><input type="text" name="wp_relatedposts_num" value="<?=$options['
count']?>"></td>
165: </tr>
166: <tr valign="top">
167: <th scope="row">Related on:</th>
168: <td>
169: <select name="wp_relatedposts_type">
170: <option selected value="<?=$options['type']?>"><?=$options['type']?></option>
171: <option value="Tags">Tags</option>
172: <option value="Category">Category</option>
173: </select>
174: </td>
---

Another vulnerable piece of code is the one which prints the related posts list. The title (received through the parameter wp_relatedposts_title is
included with little sanitization into suchs lists. The vulnerable code is shown next:

---
79: $relatedpost.= '<br><br><br><h3>' . $options['title'] . '</h3><ul>';
(...)
120: $relatedpost.= '<br><br><br><h3>' . $options['title'] . '</h3><ul>';
---

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.

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/

Relevant Pages