####################################################################### Luigi Auriemma Applicazione: Quake 3 engine http://www.idsoftware.com Giochi: - Call of Duty <= 1.5b - Call of Duty: United Offensive <= 1.51b - Heavy Metal: F.A.K.K.2 <= 1.02 - Quake III Arena <= 1.32c - Return to Castle Wolfenstein <= 1.41b - Soldier of Fortune II: Double Helix <= 1.03 - Star Trek Voyager: Elite Force <= 1.20 - Star Trek: Elite Force II <= 1.10 - Star Wars Jedi Knight II: Jedi Outcast <= 1.04 - Star Wars Jedi Knight: Jedi Academy <= 1.011 - Wolfenstein: Enemy Territory <= 1.02 / 2.56 ...altri Piattaforme: Windows, Linux e Mac Bug: crash o shutdown causato dall'incorretta gestione di richieste di informazioni troppo grandi Exploitation: remoto, contro il server Data: 12 Feb 2005 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Il motore di Quake 3 e' il famoso motore di gioco sviluppato da ID Software (http://www.idsoftware.com) ed utilizzato da molti giochi. Alcuni mesi fa' ho riportato dei problemi simili in 3 giochi basati su tale motore: Medal of Honor, Call of Duty e Soldier of Fortune II. Escludendo Medal of Honor che e' affetto da un buffer-overflow specifico, gli altri 2 giochi possono "forse" essere inclusi anche in questo advisory ma non ne sono pienamente sicuro. ####################################################################### ====== 2) Bug ====== Il motore di Quake 3 non gestisce correttamente le richieste di informazioni da parte dei clients permettendo ad un attacker di causare lo shutdown di qualsiasi server di gioco basato su tale motore: ERROR: Info_SetValueForKey: oversize infostring In alcuni dei giochi vulnerabili e' persino possibile causare il crash del server. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/q3infoboom.zip Un semplice scanner per testare qualsiasi gioco basato sul motore di Quake 3. ####################################################################### ====== 4) Fix ====== Solo le versioni Linux dei due giochi di Call of Duty sono stati corretti con le patches 1.5b e 1.51b, tutti gli altri giochi sono ancora vulnerabili (incluse le versioni per Windows di Call of Duty!). Ho rilasciato un patcher universale che limita la quantita' di dati gestibili nelle query da 1023 a 512 risolvendo il problema in qualsiasi gioco: http://aluigi.org/patches/q3infofix.lpatch #######################################################################