####################################################################### Luigi Auriemma Application: Borland StarTeam server 2008 http://www.borland.com/starteam/ Versions: <= 10.0.0.57 Platforms: Windows Bugs: multiple integer overflows Exploitation: remote Date: 02 Mar 2008 Author: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduction 2) Bugs 3) The Code 4) Fix ####################################################################### =============== 1) Introduction =============== From vendor's website: "Borland® StarTeam® is a fully integrated, cost-effective software change and configuration management tool, designed for both centralized and geographically distributed software development environments." ####################################################################### ======= 2) Bugs ======= The server is affected by multiple integer overflow vulnerabilities caused by the calculation of the amount of memory it needs to allocate for some arrays received from the clients. The main ways I have found for exploiting these vulnerabilities are through the PROJECT_LOGIN and SET_SERVER_ACL commands where the 32 bit number received from the client which specifies the amount of entries in the packet is multiplicated respectively for 8 (or 4 depending by the folder names or specifications) and 12, the result is then used for allocating the memory without considering the 32 bit limit. The effect of this operation is a heap overflow which allows an attacker to control some registers and could exist a possibility of executing malicious code. For both the ways is necessary to have a valid account, privileges are not necessary so the less privileged one is good too. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/starteamz.zip ####################################################################### ====== 4) Fix ====== No fix #######################################################################