####################################################################### Luigi Auriemma Application: Zoidcom http://www.zoidcom.com Versions: <= 1.0 beta 4 Platforms: Windows and Linux Bug: access to unallocated memory Exploitation: remote, versus server and clients Date: 10 May 2005 Author: Luigi Auriemma e-mail: aluigi@autistici.org web: http://aluigi.altervista.org ####################################################################### 1) Introduction 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduction =============== Zoidcom in an UDP network library developed by Jörg Rüppel. ####################################################################### ====== 2) Bug ====== The first 4 bytes at the beginning of any UDP packet handled by this library specify the size of the packet data in bits. When a packet is received the library calls the ZCom_BitStream::Deserialize function that allocates a target buffer of the size specified in these 4 bytes and then copies all the subsequent part of the packet in it. If an attacker specifies a big amount of bits the Deserialize() function will try to read the unallocated memory located after the packet buffer or the library will exit immediately if the amount of bits is so big that the target buffer cannot be allocated. ####################################################################### =========== 3) The Code =========== http://aluigi.altervista.org/poc/zoidboom.zip ####################################################################### ====== 4) Fix ====== 1.0 beta 5 ####################################################################### --- Luigi Auriemma http://aluigi.altervista.org