####################################################################### 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@autistici.org 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 SERVER 2086 0 ####################################################################### ====== 4) Fix ====== SVN revision 2781. #######################################################################