10th Apr 2003 [SBWID-6132]
COMMAND
	seti@home  client  &  server  Information   leakage   and   remotely
	exploitable buffer overflow
SYSTEMS AFFECTED
	 Confirmed information leaking:
	    This issue affects all clients.
	 Confirmed remote exploitable:
	   setiathome-3.03.i386-pc-linux-gnu-gnulibc2.1
	   setiathome-3.03.i686-pc-linux-gnu-gnulibc2.1
	   setiathome-3.03.i386-pc-linux-gnulibc1-static
	   setiathome-3.03.i686-pc-linux-gnulibc1-static
	   setiathome-3.03.i386-winnt-cmdline.exe
	   i386-unknown-freebsd2.2.8 (Special thanks to Niels Heinen)
	   [email protected] (v3.07 Screensaver)
	 Confirmed DoS-able using buffer overflow:
	   The main seti@home server at shserver2.ssl.berkeley.edu
	 Presumed vulnerable to buffer overflow:
	   All other clients.
PROBLEM
	Berend-Jan Wever [http://spoor12.edup.tudelft.nl/] found following  bug,
	on widely used seti@home clients, as on server:
	There are currently over four million  registered  users  of  seti@home.
	Over half a million of these users are "active"; they have  returned  at
	least one result within the last four weeks.
	The seti@home clients use the HTTP protocol to download  new  workunits,
	user information and to register new users.  The  implementation  leaves
	two security vulnerabilities:
	1) All information  is  send  in  plaintext  across  the  network.  This
	information includes the processor type and the operating system of  the
	machine seti@home is running on.
	2) There is a bufferoverflow in the server responds handler. Sending  an
	overly large string followed  by  a  newline  ('\n')  character  to  the
	client will trigger this overflow. This has  been  tested  with  various
	versions of the client. All versions are presumed to have this  flaw  in
	some form.
	3) A similar buffer overflow seems to affect the main  seti@home  server
	at shserver2.ssl.berkeley.edu. It closes the connection after  receiving
	a too large string of bytes followed by a '\n'.
	 THE TECHNIQUE
	 =============
	1) Sniffing the information exposed by the seti@home client  is  trivial
	and very usefull to a malicious person planning an attack on a  network.
	A passive  scan  of  machines  on  a  network  can  be  made  using  any
	packetsniffer to grab the information from the network.
	2) All tested clients  have  similar  buffer  overflows,  which  allowed
	setting eip to an arbitrairy value which can  lead  to  arbitrairy  code
	execution. An attacker would have to reroute the connection  the  client
	tries to make to  the  seti@home  webserver  to  a  machine  he  or  she
	controls. This can be  done  using  various  widely  available  spoofing
	tools. Seti@home also has the ability to use a HTTP-proxy,  an  attacker
	could also use the machine the PROXY runs on as a base for this  attack.
	Routers can also be used as a base for this attack.
	3) Exploitation of the bug in the server has offcourse not been  tested.
	Do understand that successfull exploitation of the  bug  in  the  server
	would  offer  a  platform  from  which  ALL  seti@home  clients  can  be
	exploited.
	 Exploits
	 ========
	Berend-Jan Wever released linux exploit, and Zillion linux/*BSD one.
	 Linux : http://spoor12.edup.tudelft.nl/spaceinvaders.tbz2
	 Linux/*BSD : http://www.safemode.org/files/zillion/exploits/seti-exploit.c
	 THANKS
	 ======
	Special thanks go out to:
	 - Aleph1 for "Smashing the Stack for Fun and Profit".
	 - Niels Heinen for his work on exploiting seti@home on FreeBSD.
	 - Blazde and the other 0dd folks for help with the win32 shellcode.
SOLUTION
	Upgrade asap to latest version