Borland CaliberRM is an enterprise software requirements management system. It is part of Borland's distributed development and deployment solution. For more information about Borland CaliberRM, please visit following website.
Remote exploitation of a buffer overflow vulnerability in Borland Software Corp.'s CaliberRM enterprise software requirements management system could allow attackers to execute arbitrary code with SYSTEM level privileges.
This vulnerability exists in the StarTeam Multicast Service component (STMulticastService). This service is implemented using the HTTP protocol. The vulnerable function, PGMWebHandler::parse_request, is shown below.
.text:003AA15D call PGMWebHandler::parse_request(char const *,uint,char *,uint,http_request_info_t &) ... .text:003AA35E loc_3AA35E: .text:003AA35E mov al, [ebx] .text:003AA360 cmp al, 0Ah .text:003AA362 mov [edx], al ; edx points to the stack, overflowable because of the loop .text:003AA364 jnz loc_3AA4EF ... .text:003AA36A mov byte ptr [edx+1], 0 .text:003AA36E mov al, byte ptr [esp+618h+lbuff] .text:003AA372 cmp al, 0Dh .text:003AA374 jz loc_3AA509 ... .text:003AA4F0 loc_3AA4F0: .text:003AA4F0 mov eax, [esp+618h+count] .text:003AA4F4 mov ecx, [esp+618h+req_len] .text:003AA4FB inc ebx .text:003AA4FC inc eax .text:003AA4FD cmp eax, ecx .text:003AA4FF mov [esp+618h+count], eax .text:003AA503 jl loc_3AA35E ; loop back up
While searching for the standard 0x0a0d that ends HTTP requests, a loop copies attacker supplied data byte by byte into a fixed-size stack buffer. If a large enough request is sent, the return address, SEH pointers, and other stack data is overwritten.
Exploitation allows attackers to execute arbitrary code with SYSTEM level privileges. In order to exploit this vulnerability an attacker would have to send malicious data to the STMulticastService service listening on TCP port 3057.
The StarTeam Multicast service is not installed by default with CaliberRM 2006. The user must enable MPX Events and the StarTeam Message Broker option during the installation process.
iDefense confirmed that the trial version of Borland CaliberRM 2006 (file version 9.0.809.000) is vulnerable. The actual vulnerable component is StarTeam Multicast Service 6.4. Other Borland products containing StarTeam Multicast Service component, such as Borland StarTeam, may also be affected.
In order to prevent exploitation of this vulnerability, administrators can disable the Multicast Service monitoring port. For more information consult Borland's Knowledge Base at the following URL.
Borland Software Corp. has not responded to repeated inquiries regarding this vulnerability. iDefense Labs confirmed that the current version (Borland CaliberRM 2008) still contains the vulnerable code. However, the monitoring port appears to be disabled in a default installation.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2008-0311 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org/), which standardizes names for security problems.
03/20/2007 Initial vendor notification
03/20/2007 Initial vendor response
08/06/2007 Second vendor notification
11/02/2007 Third vendor notification
04/02/2008 Public disclosure
The discoverer of this vulnerability wishes to remain anonymous.
Get paid for vulnerability research
Free tools, research and upcoming events
Copyright © 2008 Verisign, Inc.
Permission is granted for the redistribution of this alert electronically. It may not be edited in any way without the express written consent of iDefense. If you wish to reprint the whole or any part of this alert in any other medium other than electronically, please e-mail customer service for permission.
Disclaimer: The information in the advisory is believed to be accurate at the time of publishing based on currently available information. Use of the information constitutes acceptance for use in an AS IS condition. There are no warranties with regard to this information. Neither the author nor the publisher accepts any liability for any direct, indirect, or consequential loss or damage arising from use of, or reliance on, this information.