giovedì 20 agosto 2009

Bug in Pidgin Instant Messenger

CoreSecurity ha recentemente scoperto una vulnerabilità critica nel client Pidgin Instant Messenger. La causa del problema è un bug nella libreria libpurple utilizzati da Pidgin che gestisce i messaggi Msn Slp: una sequenza di messaggi appositamente creati può provocare un buffer overflow ed esporre il sistema all'esecuzione arbitraria di codice, sovrascrivendo i segmenti di memoria. L'attacco consiste nel mandare due messaggi consecutivi MSNSLP. Il primo è utilizzato per memorizzare un slpmsg con i nostri ID di sessione, e la seconda per attivare la vulnerabilità. Il nostro obiettivo è quello di raggiungere è invocare la funzione memcpy () in msn_slplink_process_msg. Prima di tutto, abbiamo bisogno di inviare un messaggio MSN SLP con un offset pari a zero, che costruisce praticamente un oggetto slpmsg, in modo che Libpurple è in grado di memorizzarla in memoria. Il seconda messaggio MSNSLP deve avere un valore di offset diverso da zero. infine la chiamata alla funzione msn_slplink_message_find () ritorna l'oggetto precedente, invece di NULL. Ciò significa che siamo in grado di scrivere il contenuto dei dati in una posizione arbitraria inferiore ad esempio all'indirizzo 0x01ffffff(dimensione del pacchetto inviato con il primo messaggio) - len, che consente l'esecuzione di codice arbitrario in quasi tutte le piattaforme. Infine sono stati scoperti altri due bug minori: il primo in grado di mandare in crash il sistema nel caso di un trasferimento di file le cui dimensioni eccedano la memoria disponibile, e il secondo che porta ad analoghe conseguenze a causa di un denial of service causabile da un messaggio Msn Slp creato appositamente. La vulnerabilità è stata fissata in Pidgin / libpurple 2.5.9. Se volete stare al sicuro dovete semplicemente installare la versione più recente. L'ultima versione per Windows rimane, comunque, la versione 2.5.8. Altre applicazioni, come Adium sono interessati dalla vulnerabilità.

Nessun commento: