####################################################################### Luigi Auriemma Applicazione: SpeakFreely http://www.fourmilab.ch/speakfree/ http://speak-freely.sourceforge.net Versioni: <= 7.6a Piattaforme: Windows (le versioni per Unix NON sono vulnerabili) Bug: Crash remoto causato da connessioni multiple con mittente falsificato Date: s22 Sep 2003 Author: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== SpeakFreely e' un'applicazione di chat vocale in tempo reale con supporto crittografico sviluppato da John Walker ed ora il progetto verra' continuato su SourceForge da un gruppo di programmatori e appassionati. Il programma e' multipiattaforma, opensource e viene anche usato come add-on di ICQ. ####################################################################### ====== 2) Bug ====== Il bug esiste solo nella version Windows del programma (il progetto al momento infatti e' costituito da due versioni distinte, una per Windows ed una per Unix). Praticamente le risorse a disposizione del programma possono essere facilmente consumate usando un indirizzo IP sorgente falsificato e diverso per ogni connessione (le connessioni avvengono via UDP). Su Win98SE ci vogliono all'incirca 200 pacchetti spoofati per crashare il programma remotamente (circa 160 pacchetti per l'esattezza). Dopo alcune connessioni, la vittima iniziera' a mostrare i seguenti messaggi: "Cannot create transmit socket for host (x.x.x.x), error 10055. No buffer space is available" E dopo crashera'. SpeakFreely non ha un server ed un client specifico; una volta lanciato esso diviene sia client che server allo stesso tempo, quindi chiunque usa la versione per Windows e' vulnerabile da parte di un attacker che ha l'abilita' di inviare pacchetti spoofati. La cosa importante per completare l'attacco e' la sua velocita', comunque sono necessari solo 2 bytes per ogni pacchetto quindi penso che cio' non sia un vero limite. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/sfdos.zip ####################################################################### ====== 4) Fix ====== In questo momento il progetto e' in una situazione di stallo, quindi se verra' continuato il bug sara' probabilmente corretto nella nuova versione. #######################################################################