安全研究
 安全漏洞 
	McAfee ePO SiteManager.dll ActiveX控件多个远程栈溢出漏洞
发布日期:2007-03-13
更新日期:2007-03-15
受影响系统:
McAfee ePolicy Orchestrator 3.6.1描述:
McAfee ePolicy Orchestrator 3.5 patch 6
McAfee ProtectionPilot <= 1.1.1 patch 3
McAfee ProtectionPilot 1.5.0
BUGTRAQ ID: 22952
McAfee ePolicy Orchestrator(ePO)是一种业界领先的系统安全管理解决方案,能够帮助企业有效抵御各种恶意威胁和攻击。
ePO的SiteManager.Dll ActiveX控件中存在多个缓冲区溢出漏洞,允许远程攻击者完全控制受影响的系统。
1. ExportSiteList()函数栈溢出
InprocServer32: SiteManager.dll
ClassID: 4124FDF6-B540-44C5-96B4-A380CEE9826A
ProgID: SiteManager.SiteMgr.1
函数名: ExportSiteList
如果将ExportSiteList参数设置为超长字符串,就会触发栈溢出,相关代码如下:
(SiteManager.dll,version=3.6.1.166)
.text:5262B1DE ; func_ExportSiteList
.text:5262B1DE ; Attributes: bp-based frame
.text:5262B1DE
.text:5262B1DE ; int __stdcall sub_5262B1DE(int,wchar_t *,int)
.text:5262B1DE sub_5262B1DE proc near ; DATA XREF: .rdata:5265B504o
.text:5262B1DE ; .rdata:5265B614o
.text:5262B1DE
.text:5262B1DE var_414 = word ptr -414h
.text:5262B1DE var_20E = word ptr -20Eh
.text:5262B1DE var_20C = word ptr -20Ch
.text:5262B1DE var_4 = dword ptr -4
.text:5262B1DE arg_0 = dword ptr 8
.text:5262B1DE arg_4 = dword ptr 0Ch
.text:5262B1DE arg_8 = dword ptr 10h
.text:5262B1DE
.text:5262B1DE push ebp
.text:5262B1DF mov ebp, esp
.text:5262B1E1 sub esp, 414h
.text:5262B1E7 mov eax, dword_52670218 ; set stack cookie
.text:5262B1EC push esi
.text:5262B1ED push [ebp+arg_4] ; lpSrcBuff
.text:5262B1F0 mov [ebp+var_4], eax
.text:5262B1F3 lea eax, [ebp+var_20C]
.text:5262B1F9 push eax ; lpDestBuff
.text:5262B1FA call ds:wcscpy ; stack overflow
2. 以下swprintf函数未经验证便执行了拷贝操作:
.text:5262B257 push ebx
.text:5262B258 push edi
.text:5262B259 mov edi, offset aSitelist_xml ; "SiteList.xml"
.text:5262B25E push edi
.text:5262B25F lea eax, [ebp+var_20C]
.text:5262B265 push eax
.text:5262B266 lea eax, [ebp+var_414]
.text:5262B26C push offset aSS_0 ; "%s\\%s"
.text:5262B271 push eax ; lpSrcBuff
.text:5262B272 call ds:swprintf ; stack overflow
3. VerifyPackageCatalog()函数栈溢出
InprocServer32: SiteManager.dll
ClassID: 4124FDF6-B540-44C5-96B4-A380CEE9826A
ProgID: SiteManager.SiteMgr.1
函数名: VerifyPackageCatalog
如果将VerifyPackageCatalog参数设置为超长字符串,就会触发栈溢出,相关代码如下:
(SiteManager.dll,version=3.6.1.166)
part1:
.text:5262CFAC func_VerifyPackageCatalog proc near
.text:5262CFAC
.text:5262CFAC mov eax, offset loc_52649F86
.text:5262CFB1 call __EH_prolog
...
.text:5262D00C lea eax, [ebp-28h]
.text:5262D00F push eax
.text:5262D010 push ebx
.text:5262D011 push esi
.text:5262D012 push offset loc_5263AD1A
.text:5262D017 push ebx
.text:5262D018 push ebx
.text:5262D019 call ds:_beginthreadex
part2:
.text:5263AD1A mov eax, offset loc_5264B221
.text:5263AD1F call __EH_prolog
.text:52637229 push ecx
.text:5263722A mov eax, 1774h
.text:5263722F call __alloca_probe ; int
.text:52637234 mov eax, dword_52670218
.text:52637239 mov [ebp-14h], eax ; set stack-cookie
...
.text:5263AD9A lea ecx, [ebp-23Ch]
.text:5263ADA0 push ecx
.text:5263ADA1 push eax
.text:5263ADA2 mov ecx, edi
.text:5263ADA4 call sub_5263721F
|
|_____ .text:5263721F mov eax, offset loc_5264AD1C
.text:52637224 call __EH_prolog
...
.text:5263731A push dword ptr [ebp+8] ; lpSrcBuff,"AAA..."
.text:5263731D lea eax, [ebp-62Ch]
.text:52637323 push eax ; lpDestBuff
.text:52637324 call ds:wcscpy ; stack overflow
<*来源:cocoruder (frankruder@hotmail.com)
链接:http://secunia.com/advisories/24466/
http://lists.grok.org.uk/pipermail/full-disclosure/2007-March/052960.html
https://knowledge.mcafee.com/article/25/612495_f.SAL_Public.html
https://knowledge.mcafee.com/article/26/612496_f.SAL_Public.html
*>
建议:
厂商补丁:
McAfee
------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
https://mysupport.mcafee.com/eservice_enu/start.swe
浏览次数:4136
严重程度:0(网友投票)
绿盟科技给您安全的保障
