安全研究

安全漏洞
Trend Micro ServerProtect多个RPC调用远程缓冲区溢出漏洞

发布日期:2007-08-21
更新日期:2007-08-22

受影响系统:
Trend Micro ServerProtect for Windows 5.58 Build 1176
描述:
BUGTRAQ  ID: 25395
CVE(CAN) ID: CVE-2007-4218

Trend ServerProtect是一款企业级反病毒程序。

ServerProtect处理多个RPC请求时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制服务器。

ServerProtect杀毒软件的Trend ServerProtect服务(SpntSvc.exe)在TCP 5168端口上以uuid接口25288888-bd5b-11d1-9d53-0080c83a5c2c处理RPC请求,在处理RPC请求时会使用StRpcSrv.dll、Stcommon.dll、Eng50.dll和Notification.dll库。

StRpcSrv.dll库中存在三个缓冲区溢出,其中两个溢出位于RPCFN_ENG_NewManualScan和RPCFN_ENG_TimedNewManualScan函数中,这些函数没有经过执行正确的边界检查便将用户提供的数据提供到了固定大小的堆缓冲区;另一个溢出位于RPCFN_SetComputerName函数中,该函数没有正确地指定输出缓冲区长度便使用MultiByteToWideChar()函数将用户提供的数据拷贝到了固定大小的栈缓冲区。

Stcommon.dll库中存在两个栈溢出漏洞,具体位于RPCFN_CMON_SetSvcImpersonateUser和RPCFN_OldCMON_SetSvcImpersonateUser函数中。这些函数没有经过执行正确的边界检查便将用户提供的数据提供到了固定大小的栈缓冲区。

Eng50.dll库中存在两个缓冲区溢出,具体位于ENG_TakeActioinOnAFile和RPCFN_ENG_AddTaskExportLogItem函数中,这些函数没有经过执行正确的边界检查便将用户提供的数据提供到了固定大小的缓冲区。ENG_TakeActioinOnAFile函数使用的是堆上存储的缓冲区,而fRPCFN_ENG_AddTaskExportLogItem函数使用的是栈上存储的缓冲区。

Notification.dll库中存在栈溢出漏洞,具体位于NTF_SetPagerNotifyConfig函数中,该函数没有经过执行正确的边界检查便将用户提供的数据提供到了固定大小的栈缓冲区。

Trend ServerProtect Agent服务在TCP 3628端口上以uuid接口25288888-bd5b-11d1-9d53-0080c83a5c2c处理RPC请求。RPCFN_CopyAUSrc函数中存在栈溢出漏洞,该函数将用户提供的数据拷贝到了固定大小的栈缓冲区。

<*来源:Jun Mao
  
  链接:http://www.trendmicro.com/ftp/documentation/readme/spnt_558_win_en_securitypatch4_readme.txt
        http://secunia.com/advisories/26523/
        http://marc.info/?l=bugtraq&m=118926803405266&w=2
        http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=587
        http://www.us-cert.gov/cas/techalerts/TA07-235A.html
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://www.milw0rm.com/exploits/4367

建议:
厂商补丁:

Trend Micro
-----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.antivirus.com/

浏览次数:2493
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障