####################################################################### Luigi Auriemma Applicazione: Call of Duty http://www.callofduty.com Versioni: <= 1.4 United Offensive <= 1.41 Piattaforme: Windows, Linux e MacOS Bug: Denial of Service Exploitation: remoto, contro servers e clients (broadcast) Data: 05 Settembre 2004 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Call of Duty e' il famoso FPS militare sviluppato da Infinity Ward (http://www.infinityward.com) e pubblicato da Activision (http://www.activision.com). Il gioco e' stato rilasciato ad Ottobre 2003. Una nota molto interessante e' che questo bug era gia' conosciuto da alcune persone sin dal rilascio del mio recente buffer-overflow in Medal of Honor (17 Luglio 2004), infatti lo stesso proof-of-concept funziona perfettamente anche contro Call of Duty. ####################################################################### ====== 2) Bug ====== Il gioco usa alcuni controlli anti-buffer-overflow che interrompono il gioco automaticamente se trovano un input troppo grande. Il risultato e' che una query od un reply contenente piu' di 1024 caratteri e' capace di sfruttare in modo malevolo questa protezione causando l'immediato stop del gioco. Sia servers che i clients sono vulnerabili ma il problema maggiore e' proprio per i clients in quanto un solo server comandato da un attacker puo' far fermare passivamente qualsiasi client al mondo e cosi' nessuno puo' giocare online. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/codboom.zip ####################################################################### ====== 4) Fix ====== Solo la patch ufficiale per la versione Linux e' disponibile (da diverse settimane) e puo' essere scaricata qui: http://www.icculus.org/betas/cod/ La patch per Windows invece non e' disponibile e verra' "forse" rilasciata alla fine di Settembre. Nel frattempo ho scritto una patch non ufficiale proprio per la versione 1.4 Win32 del gioco ed e' capace di correggere sia i clients che i servers in quanto la funzione e' la stessa: http://aluigi.org/patches/q3infofix.lpatch #######################################################################