####################################################################### Luigi Auriemma Applicazione: Terminator 3: War of the Machines http://www.t3war.com Versioni: 1.0 Piattaforme: Windows Bug: broadcast client's buffer-overflow Exploitation: remoto and automatico, contro qualsiasi client Data: 19 Mar 2004 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== "Terminator 3: War of the Machines" e' un gioco FPS multiplayer sviluppato da Clevers (http://www.clevers.com) basato sull'omonimo film di Swarzy. E' stato pubblicato da Atari (http://www.atari.com) nel Dicembre 2003. ####################################################################### ====== 2) Bug ====== Il bug e' un broadcast buffer-overflow che affligge i clients. Ogni volta che un utente entra nella schermata multiplayer il gioco contatta automaticamente il master server ed ogni server online. Il bug viene causato dall'uso di alcune istruzioni vulnerabili che sono esattamente le seguenti: char ServerInfoTemp[200]; ... for (int i = 0; i < strlen(ServerInfo); i++) { ServerInfoTemp[i] = toupper(ServerInfo[i]); } Esse prendono una stringa (ServerInfo) generata usando l'IP e la porta del server e tutte le informazioni contenute nella sua risposta, dopodiche le immagazzinano in un nuovo buffer piu' piccolo (ServerInfoTemp) convertendo tutti i caratteri in maiuscolo. Gli effetti del bug sono i soliti 2 problemi conosciuti: - buffer-overflow automatico (qui con la limitazione del maiuscolo) - Denial of Service della rete, nessuno puo' usufruire del multiplayer online Le istruzioni vulnerabili nell'eseguibile del pre-release demo vanno da 004953d4 a 004953fe. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/t3cbof.zip ####################################################################### ====== 4) Fix ====== 1.16 #######################################################################