####################################################################### Luigi Auriemma Application: InduSoft WebStudio http://www.indusoft.com Versions: <= 7.0 (Oct 2010) Platforms: Windows Bug: unicode stack overflow in CEServer.exe Exploitation: remote, versus server Date: probably found 15 Oct 2010 Author: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduction 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduction =============== "InduSoft is HMI SCADA software for developing applications in industrial, Instrumentation and Embedded Systems" ####################################################################### ====== 2) Bug ====== CEServer.exe is the remote agent server running on port 4322. The protocol is constituited by an 8 bit opcode (from 0x01 to 0x39) followed by the data. The opcode 0x15 is used to remove files from the disk and the code that handles it is vulnerable to a stack overflow caused by the copying of the input filename (converted in unicode by a previous instruction) in a stack buffer of 512 bytes (256 unicode chars). ####################################################################### =========== 3) The Code =========== http://aluigi.org/testz/udpsz.zip udpsz -C 15 -b 0x61 -T SERVER 4322 1000 ####################################################################### ====== 4) Fix ====== http://www.zerodayinitiative.com/advisories/ZDI-11-329/ #######################################################################