####################################################################### Luigi Auriemma Applicazione: Battlefield 1942 and Vietnam http://www.battlefield1942.com Versioni: Battlefield 1942 <= 1.6.19 Battlefield Vietnam <= 1.2 Piattaforme: Windows e Mac Bug: client crash Exploitation: remoto, contro clients (broadcast) Data: 07 Dicembre 2004 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Battlefield 1942 e Vietnam sono due tra i piu' conosciuti e giocati giochi FPS riguardanti i relativi conflitti militari. Sono stati sviluppati da Digital Illusions (http://www.dice.se) e sono stati rilasciati rispettivamente a Settembre 2002 e Marzo 2004. ####################################################################### ====== 2) Bug ====== Come qualsiasi gioco multiplayer, anche Battlefield contatta un master server per conoscere tutti i servers online disponibili e poi li interroga uno per uno per ricavare diverse informazioni. Il problema e' nel parametro "numplayers" della risposta del server che se e' un numero troppo grande causa l'immediato blocco del client seguito (dopo alcuni secondi) da un crash dovuto all'accesso ad un puntatore NULL. Questo e' un broadcast client crash quindi un singolo attacker visibile nella lista del master server e' capace di sfruttare passivamente il bug contro qualsiasi client vulnerabile online. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/bfcboom.zip ####################################################################### ====== 4) Fix ====== Battlefield 1942 1.61b Battlefield Vietnam 1.21 Nota: questa patch per Battlefield 1942 corregge, finalmente, anche il ben conosciuto bug nel Gamespy cd-key SDK (aka gshboom, 24 Febbraio 2004) che affligge i servers di gioco. #######################################################################