####################################################################### Luigi Auriemma Applicazione: Zoidcom http://www.zoidcom.com Versioni: <= 1.0 beta 4 Piattaforme: Windows and Linux Bug: accesso a memoria non allocata Exploitation: remoto, contro server e clients Data: 10 May 2005 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Zoidcom e' una libreria di rete basata sul protocollo UDP sviluppata da Jörg Rüppel. ####################################################################### ====== 2) Bug ====== I primi 4 bytes all'inizio di ogni pacchetto gestito dalla libreria indicano la grandezza in bits dei dati in esso contenuti. Quando viene ricevuto un pacchetto viene chiamata la funzione ZCom_BitStream::Deserialize che alloca un buffer di destinazione grande quanto specificato in questi 4 bytes e dopo viene copiata tutta la parte successiva del pacchetto in esso. Se un attacker specifica una grande quantita' di bits la funzione Deserialize() provera' a leggere la memoria non allocata che si trova dopo il buffer del pacchetto mentre la libreria terminera' immediatamente se la quantita' di bits e' cosi' grande che il buffer di destinazione non puo' essere allocato. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/zoidboom.zip ####################################################################### ====== 4) Fix ====== 1.0 beta 5 #######################################################################