####################################################################### Luigi Auriemma Applicazione: Raknet network library http://www.rakkarsoft.com Versioni: <= 2.33 (prima del 30 Maggio 2005) il bug e' stato introdotto in alcuni aggiornamenti recenti ma non si sa' esattamente quale sia la prima versione vulnerabile Platforms: Windows e Unix Bug: terminazione del server e loop infinito Exploitation: remoto, contro il server Data: 05 June 2005 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Raknet e' una libreria di rete multi-licenza (GPL, shareware e commerciale) per videogiochi sviluppata da Rakkarsoft. Questa libreria e' stata utilizzata in molti giochi open e closed source come quelli sviluppati da nFusion (http://www.n-fusion.com). Proprio il recentissimo gioco di questa software house Elite Warriors: Vietnam (http://www.n-fusion.com/nFusion/ewvstory.html), rilasciato in Marzo 2005 e' uno di quelli vulnerabili (versioni <= 1.03). Ad ogni modo i giochi di qualche anno fa' sviluppati da nFusion non sono vulnerabili in quanto usano versioni piu' vecchie della libreria che non contengono il bug. ####################################################################### ====== 2) Bug ====== Un pacchetto UDP di 0 bytes e' capace di congelare il server di gioco. Il problema e' che quando viene ricevuto un pacchetto vuoto il server dovrebbe chiudere il socket e ritornare al menu principale (primo bug) ma prima di far cio' esso entra in un loop senza fine che esegue Sleep(10) sino a che il thread principale e' attivo (ma non termina mai). ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/rakzero.zip ####################################################################### ====== 4) Fix ====== Version 2.33 (05/30/2005). Il numero di versione non e' cambiato quindi bisogna essere sicuri di avere la versione corretta rilasciata il 30 Maggio 2005 o dopo. #######################################################################