####################################################################### Luigi Auriemma Application: ActivePost Standard http://www.activepost.net Versions: <= 3.1 Platforms: Windows Bugs: - File-Server crash - File-server directory traversal and path disclosure - conference password disclosure Exploitation: remote, versus server (only the third bug affects clients too) Date: 23 September 2004 Author: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduction 2) Bugs 3) The Code 4) Fix ####################################################################### =============== 1) Introduction =============== ActivePost Standard is an interesting communication program for companies. It is constituited by the clients and a central server used for login, messaging, chat, files transfer and conferences. ####################################################################### ======= 2) Bugs ======= -------------------- A] File-Server crash -------------------- The file-server runs on port 6004 and is used to upload files on the server so they can be downloaded by the target users. The problem is that an attacker is able to crash the file-server using a filename longer than 4074 chars. The file-server protocol is constituited by data blocks of 4104 bytes and doesn't seem possible to cause more damage. ------------------------------------------------------ B] File-server directory traversal and path disclosure ------------------------------------------------------ This is the most critical vulnerability because lets an attacker to upload malicious files everywhere in the disk on which is installed the ActivePost server overwriting any existing file. That happens exploiting a directory traversal bug in the name of the file to upload using the slash char. Example: /../../../windows/calc.exe The complete real path in which the remote file has been written is ever visible after each upload because this information is directly sent by the server. --------------------------------- C] conference password disclosure --------------------------------- Everytime an user enters in the conference menu, the server sends all the informations of the available rooms included the plain-text passwords of those protected. Check the following example data received from the server: 4703 0000 0000 0000 0000 0000 0000 0000 G............... 0000 0000 0a72 6f6f 6d20 7469 746c 6500 .....room title. 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0001 3100 ..............1. 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0e73 6563 7265 7470 6173 7377 6f72 ...secretpasswor <=== 6400 0000 0000 0000 0000 0000 0000 0000 d............... 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0003 3832 ..............82 3100 0000 0000 0000 0000 0000 0000 0000 1............... 0000 0138 0000 0000 0000 0000 0000 0000 ...8............ 0000 0000 0000 0017 6465 7363 7269 7074 ........descript 696f 6e20 6f66 2074 6865 2072 6f6f 6d00 ion of the room. 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 .... ####################################################################### =========== 3) The Code =========== A] http://aluigi.org/poc/actpboom.zip B] http://aluigi.org/poc/actpup.zip C] launch a sniffer before entering in the conference menu ####################################################################### ====== 4) Fix ====== No fix. No reply from the developers. #######################################################################