######################################################################## Luigi Auriemma Applicazione: Popcorn (http://www.ultrafunk.com) Versione: 1.20 e precedenti Bug: Vulnerabilita' multiple Date: 11 Jul 2002 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ######################################################################## Sections: 1) Introduzione 2) Bug 3) Il codice 4) Fix ######################################################################## =============== 1) Introduzione =============== Popcorn e' un buon client di posta per Windows, e' piccolo e semplice da utilizzare. E' davvero ridotto al minimo indispensabile (ad esempio manca l'invio di allegati) comunque lo trovo davvero utile. Sfortunatamente non e' piu' supportato cosi' il suo sviluppo e' fermo e ogni bug trovato non puo' essere corretto. ######################################################################## ====== 2) Bug ====== I bug che ho trovato in questo programma per il momento sono 3 (comunque non ne pubblichero' altri se dovessi trovarne). I bug A e C sono exploitabili direttamente durante il checking della mailbox, per questo motivo l'utente non puo' vedere la mail e di conse- guenza non puo' capire dove sia l'errore e dovra' cancellare la mail manualmente o da un altro client di posta. -A- -Processo bloccato e consumo delle risorse. Se un attaccante invia una mail con il seguente subject: Subject: \t\t il client provera' a leggere l'email ma rimarra' come bloccato in attesa di leggere l'e-mail (come se ad esempio il server non desse nessuna risposta). Invece il processo e' rimasto bloccato, l'utente puo' chiudere Popcorn dal suo menu senza problemi ma in realta' il processo e' ancora in ese- cuzione e per di piu' sta consumando alcune risorse (ad esempio il mio AthlonXP rallenta abbastanza visibilmente) e l'unico modo per terminare definitivamente il processo e' tramite il menu del CTRL-ALT-CANC o meglio ancora da un programma di gestione dei processi tipo ATM o Killprocess. -B- -Buffer overflow nel campo Subject. Il client crasha quando l'utente cerca di aprire una mail con un subject come questo: Subject: (almeno 490 'A') Non penso ci sia altro da aggiungere... -C- Il bug e' nella gestione del campo Date delle mail ricevute. Questo e' un esempio di come Popcorn formatta il campo Date: Date: 1 = 01.01.2000 00:00 Date: 11 = 11.01.2000 00:00 Date: 111 = 20.04.2000 00:00 Date: 1111 = 15.01.2003 00:00 Date: 11111 = 02.06.2030 00:00 Date: 111111 = 02.01.2032 11:03 Date: 1111111 = Crash! Quindi un attaccante puo' far crashare Popcorn semplicemente inviando una mail che abbia nel campo Date un anno maggiore di 2037 (2037 e' l'anno massimo che non causa il crash testato sul mio PC) o come ho specificato prima, utilizzando 1111111 (od un altra sequenza numerica che crei il crash) ######################################################################## ============ 3) Il codice ============ http://aluigi.org/poc/popcorn.zip ######################################################################## ====== 4) Fix ====== 1.24 dal sito di Ultrafunk: http://www.ultrafunk.com ########################################################################