####################################################################### Luigi Auriemma Applicazione: Soldier of Fortune II http://www.ravensoft.com/soldier2.html Versioni: <= 1.03 gold Piattaforme: Windows, Linux e MacOS Bug: corruzione di memoria Exploitation: remoto, contro il server ed i clients (broadcast) Data: 23 Novembre 2004 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Soldier of Fortune II e' un gioco FPS molto conosciuto sviluppato da Raven Software (http://www.ravensoft.com) e pubblicato da Activision (http://www.activision.com). E' stato rilasciato a Maggio 2002. ####################################################################### ====== 2) Bug ====== Il gioco e' vulnerabile ad uno sprintf() overflow durante la gestione di una query od un reply troppo grande (in caso faccia da server o client), ma non sembra possibile eseguire codice remoto. Gli effetti sul server possono essere l'immediata interruzione della partita causata dalla sovrascrittura di alcuni dati di gioco o l'immediato crash (di cui il server dedicato Linux e' immune) dipendente dalla quantita' di dati ricevuta dall'attacker. Un effetto ben peggiore invece avviene sui clients, infatti la posizione della vulnerabilita' permette ad un singolo attacker (visibile nella lista del master server) di compromettere passivamente qualsiasi client nel mondo. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/sof2boom.zip ####################################################################### ====== 4) Fix ====== No fix. Gli sviluppatori non hanno risposto alle mie mails, quindi ho creato un work-around (limitando da 1024 a 512 la quantita' massima di dati da copiare) che corregge entrambi i bugs nel client e nel server e puo' essere applicato sia sulla versione per Windows che sul server dedicato per Linux: http://aluigi.org/patches/q3infofix.lpatch #######################################################################