####################################################################### Luigi Auriemma Applicazione: Xpand Rally http://www.xpandrally.com Versioni: 1.0.0.0 Piattaforme: Windows Bug: lettura e scrittura su memoria non allocata (crash) Exploitation: remoto, contro il server (broadcast) Data: 30 Gen 2005 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Xpand Rally e' il recente gioco di rally sviluppato da Techland (http://www.techland.pl) e pubblicato da Strategy First (http://www.strategyfirst.com) a Settembre 2004. ####################################################################### ====== 2) Bug ====== Il problema e' causato da un'allocazione di memoria non controllata causata dall'attacker che puo' decidere l'esatto quantita' di dati da allocare attraverso un numero a 32 bits nei suoi pacchetti. Se la memoria da allocare e' troppa, la funzione malloc() fallira' e non ci sono istruzioni che la controllano quindi il gioco provera' a scrivere in una zona di memoria errata (0x00000000). Invece se il numero e' abbastanza grande ma puo' essere allocato, la funzione mempcy() fallira' in quanto cerchera' di leggere dalla memoria non allocata dopo il pacchetto. Naturalmente anche il client e' vulnerabile ed un attacker visibile nella lista del master server e' capace di far crashare passivamente qualsiasi client vulnerabile al mondo. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/xprallyboom.zip ####################################################################### ====== 4) Fix ====== Versione 1.1.0.0. #######################################################################