<<< Date Index >>>     <<< Thread Index >>>

Socket unreachable in GNUnet rev 2780



#######################################################################

                             Luigi Auriemma

Application:  GNUnet
              http://www.gnunet.org
Versions:     <= 0.7.0d and revision 2780
Platforms:    Windows, *nix, *BSD, Mac and more
Bug:          UDP socket unreachable
Exploitation: remote
Date:         12 May 2006
Author:       Luigi Auriemma
              e-mail: aluigi@xxxxxxxxxxxxx
              web:    aluigi.org


#######################################################################


1) Introduction
2) Bug
3) The Code
4) Fix


#######################################################################

===============
1) Introduction
===============


>From the website:
"GNUnet is a framework for secure peer-to-peer networking that does not
use any centralized or otherwise trusted services. A first service
implemented on top of the networking layer allows anonymous
censorship-resistant file-sharing."


#######################################################################

======
2) Bug
======


The asynchronous mode used for the UDP socket is handled through
FIONREAD.
If an empty UDP packet (zero bytes) is received the program enters in
an endless loop where other UDP packets cannot handled and the CPU
reaches the 100% of usage.

More info about this specific bug are available here:

  http://aluigi.org/adv/socket_unreachable_info.txt


#######################################################################

===========
3) The Code
===========


http://aluigi.org/testz/udpsz.zip

  udpsz 127.0.0.1 2068 0


#######################################################################

======
4) Fix
======


SVN revision 2781.


#######################################################################


--- 
Luigi Auriemma
http://aluigi.org
http://mirror.aluigi.org