Lucene search

K
seebugRootSSV:3126
HistoryApr 09, 2008 - 12:00 a.m.

Borland StarTeam Multicast服务GMWebHandler::parse_request()栈溢出漏洞

2008-04-0900:00:00
Root
www.seebug.org
8

EPSS

0.73

Percentile

98.2%

BUGTRAQ ID: 28602
CVE(CAN) ID: CVE-2008-0311

Borland CaliberRM是Borland所捆绑的开发部署解决方案中的企业软件要求管理软件。

CaliberRM的实现上存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制服务器。

CaliberRM的StarTeam多播服务组件(STMulticastService)包含有有漏洞的函数PGMWebHandler::parse_request:

.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

在搜索结束HTTP请求的标准0x0a0d时,一个循环将攻击者所提供的数据逐个拷贝到了固定大小的栈缓冲区。如果发送了足够大的请求的话,就可能覆盖返回地址、SEH指针和其他栈上数据。

Borland CaliberRM 2006 9.0.809.000
临时解决方法:

  • 禁用多播服务的监听端口:

1 停止StarTeam多播服务
2 导航到Message Broker安装下的\Standard子目录
3 在文本编辑器中打开pgmopts.def文件
4 找到带有monitor_port字符串的行,应类似于:

createopt pgmmap_monitor_port str_list pgm_monitor_port,monitor_port
createopt pgm_monitor_port numeric 3057

5 如下更改这些定义行:

createopt pgmmap_monitor_port str_list pgm_monitor_port,monitor_port
createopt pgm_monitor_port numeric 0

6 保存更改
7 重启StarTeam多播服务

厂商补丁:

Borland

目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

<a href=“http://www.borland.com/” target=“_blank”>http://www.borland.com/</a>