####################################################################### Luigi Auriemma Application: Progea Movicon / PowerHMI http://www.progea.com Versions: <= 11.2.1085 Platforms: Windows Bug: memory corruption Exploitation: remote Date: 13 Sep 2011 Author: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduction 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduction =============== Movicon is an italian SCADA/HMI software. ####################################################################### ====== 2) Bug ====== When the software runs a project it listens on port 808 for accepting some HTTP requests and on port 12233 for a particular "EIDP" protocol. Through a too big size field in the "EIDP" packets tunnelled via the web service (doesn't seem possible to exploit the bug via the original port) it's possible to write a 0x00 byte in an arbitrary memory zone higher than 0x7fffffff: 00a29001 c6041100 mov byte ptr [ecx+edx],0 ds:0023:80616161=?? This limitation could make the bug interesting only in some 64bit environments. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/movicon_3.dat nc SERVER 808 < movicon_3.dat ####################################################################### ====== 4) Fix ====== No fix. #######################################################################