####################################################################### Luigi Auriemma Applicazione: BZFlag http://www.bzflag.org Versioni: <= 2.0.4 versions minor than 2.0.0 seem nov vulnerable Piattaforme: Windows, *BSD, Linux, *nix, MacOS, Solaris, SGI ed altre Bug: server crash Exploitation: remote, versus server Data: 25 Dec 2005 Autore: il bug e' stato corretto dagli sviluppatori alla fine di Ottobre nel CVS mentre io ho trovato il bug indipendentemente e ho trovato il modo per sfruttarlo un mese dopo in quanto la versione stabile era (ed e') ancora quella vulnerabile Advisory: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== BZFlag e' un un gioco open source di carri armati online molto divertente e ben conosciuto. ####################################################################### ====== 2) Bug ====== I callsign (nickname) utilizzati dai clients non sono controllati o ridelimitati dal server quindi e' possibile per un client di passare un callsign senza NULL bytes alla sua fine causando problemi (crash) al server durante la gestione di tale stringa. Sia su Linux che Windows per x86 (usando i pacchetti precompilati) ho raggiunto il crash del server senza problemi ma e' possibile che in alcune configurazioni il crash potrebbe avvenire dopo molti tentativi od anche mai, a seconda di come e' gestita la memoria su quella piattaforma. Il bug puo' essere sfruttato anche contro servers protetti da password senza conoscere la parola chiave esatta. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/bzflagboom.zip ####################################################################### ====== 4) Fix ====== Come scritto nel campo "Autore", la versione CVS e' stata gia' patchata da oltre due mesi. #######################################################################