Twenty Year Anniversary

WordPress FV Flowplayer 7.2.0.727 Cross Site Scripting

WordPress FV Flowplayer 7.2.0.727 Cross Site Scripting
Posted Sep 21, 2018
Authored by Janek Vind aka waraxe | Site waraxe.us

WordPress FV Flowplayer plugin version 7.2.0.727 suffers from a cross site scripting vulnerability.

tags | exploit, xss
MD5 | 6a73d8627bafde17ab1cbdfe2441b625

WordPress FV Flowplayer 7.2.0.727 Cross Site Scripting

Change Mirror Download

[waraxe-2018-SA#107] - Reflected XSS in FV Flowplayer Wordpress plugin
================================================================================

Author: Janek Vind "waraxe"
Date: 20. September 2018
Location: Estonia, Tartu
Web: http://www.waraxe.us/advisory-107.html

Target description:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

FV Player is a free, easy-to-use, and complete solution for embedding FLV or MP4
videos into your posts or pages. With MP4 videos, FV Player offers 98% coverage
even on mobile devices.

https://wordpress.org/plugins/fv-wordpress-flowplayer/
https://foliovision.com/player

Vulnerable version: 7.2.0.727
Fixed version: 7.2.1.727
Active installations: 40 000+

###############################################################################
Reflected XSS in "models/flowplayer.php"
###############################################################################

Reason:
* Insufficient sanitization of user-supplied data
Attack vector:
* User-supplied GET parameter "fv_player_preview"
Preconditions:
* Must be logged in as user with "manage_options" privileges (usually admin)


PHP script "models/flowplayer.php" line 2012:
------------------------[ source code start ]----------------------------------
<?php if( isset($_GET['fv_player_preview']) && !empty($_GET['fv_player_preview']) ) :

if( !is_user_logged_in() || !current_user_can('manage_options') ){
?><script>window.parent.jQuery(window.parent.document).trigger('fvp-preview-complete');</script><?php
wp_die('Please log in.');
}
$shortcode = base64_decode($_GET['fv_player_preview']);
..
if(preg_match('/src="[^"][^"]*"/i',$shortcode)) {
..
echo do_shortcode($shortcode);
------------------------[ source code end ]------------------------------------

We can see that vulnerable PHP script expects user-supplied GET parameter "fv_player_preview"
to be as base64 encoded string. This parameter goes through base64 decoding and resulting
text string is used for output without additional checking or sanitization. As result
we have Reflected XSS vulnerability.

Testing:

For successful testing log in as Wordpress admin or other user with "manage_options"
privileges and then open following URL in web browser:

http://localhost/wp498/?fv_player_embed=1&fv_player_preview=c3JjPSJ3YXJheGUiPHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4

Javascript alert with "XSS" message pops up confirming Reflected XSS vulnerability.

"c3JjPSJ3YXJheGUiPHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4" string in URL is base64
encoded version of the string "src="waraxe"<script>alert('XSS')</script>" with
trailing "=" removed, because PHP function "base64_decode()" does not care about it.

By the way, this Reflected XSS vulnerability allows bypassing anti-XSS filters in
all modern web browsers thanks to base64 encoding.


Disclosure timeline:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

19.09.2018 -> First email sent to developers
19.09.2018 -> Got first response email from developers
19.09.2018 -> Sending detailed information to developers
20.09.2018 -> Found problems are fixed, new version available
20.09.2018 -> Waraxe advisory released

Contact:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

come2waraxe@yahoo.com
Janek Vind "waraxe"

Waraxe forum: http://www.waraxe.us/
Personal homepage: http://www.janekvind.com/

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

October 2018

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Oct 1st
    26 Files
  • 2
    Oct 2nd
    15 Files
  • 3
    Oct 3rd
    15 Files
  • 4
    Oct 4th
    15 Files
  • 5
    Oct 5th
    15 Files
  • 6
    Oct 6th
    2 Files
  • 7
    Oct 7th
    3 Files
  • 8
    Oct 8th
    23 Files
  • 9
    Oct 9th
    16 Files
  • 10
    Oct 10th
    15 Files
  • 11
    Oct 11th
    19 Files
  • 12
    Oct 12th
    16 Files
  • 13
    Oct 13th
    2 Files
  • 14
    Oct 14th
    2 Files
  • 15
    Oct 15th
    15 Files
  • 16
    Oct 16th
    20 Files
  • 17
    Oct 17th
    19 Files
  • 18
    Oct 18th
    10 Files
  • 19
    Oct 19th
    0 Files
  • 20
    Oct 20th
    0 Files
  • 21
    Oct 21st
    0 Files
  • 22
    Oct 22nd
    0 Files
  • 23
    Oct 23rd
    0 Files
  • 24
    Oct 24th
    0 Files
  • 25
    Oct 25th
    0 Files
  • 26
    Oct 26th
    0 Files
  • 27
    Oct 27th
    0 Files
  • 28
    Oct 28th
    0 Files
  • 29
    Oct 29th
    0 Files
  • 30
    Oct 30th
    0 Files
  • 31
    Oct 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2018 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close