####################################################################### Luigi Auriemma Applicazione: GNUnet http://www.gnunet.org Versioni: <= 0.7.0d e revision 2780 Piattaforme: Windows, *nix, *BSD, Mac ed altre Bug: UDP socket unreachable Exploitation: remoto Data: 12 May 2006 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Dal sito web del programma: "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 ====== Il modo asincrono usato per il socket UDP e' gestito tramite FIONREAD. Se viene ricevuto un pacchetto UDP vuoto (zero bytes) il programma entra in un loop infinito dove qualsiasi altro pacchetto UDP non puo' essere gestito e la CPU raggiunge un utilizzo del 100%. Maggiori informazioni riguardo questo tipo di bug sono disponibili qui: 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. #######################################################################