#######################################################################
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 (at) autistici (dot) org [email concealed]
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