安全研究
安全漏洞
Microsoft Movie Maker和Producer IsValidWMToolsStream()函数堆溢出漏洞(MS10-016)
发布日期:2010-03-09
更新日期:2010-03-10
受影响系统:
Microsoft Movie Maker 6.0描述:
Microsoft Movie Maker 2.6
Microsoft Movie Maker 2.1
Microsoft Producer 2003
BUGTRAQ ID: 38515
CVE(CAN) ID: CVE-2010-0265
Movie Maker是Windows操作系统中所提供的一个电影编辑软件,Producer是PowerPoint中可安装的可选组件,用于创建可在浏览器中查看的多媒体演示。
Windows Movie Maker在处理畸形.MSWMM项目文件时存在堆溢出漏洞,可能导致写访问破坏并执行任意代码。
漏洞的起因是IsValidWMToolsStream()函数,该函数中两次使用了不同大小的*pbuffer,在第二次使用时从MSWMM文件读取了数据且在重用pbuffer之前没有重新分配。如果从文件读取的大小大于初始的内部值,就可以导致堆溢出。以下是有漏洞的代码段:
/-----
CDocManager::IsValidWMToolsStream(bool *)+EB push dword ptr
[valueFromFile];0x8888
CDocManager::IsValidWMToolsStream(bool *)+EE call ??2@YAPAXI@Z ;
operator new(uint)
CDocManager::IsValidWMToolsStream(bool *)+F3 pop ecx
CDocManager::IsValidWMToolsStream(bool *)+F4 mov [pBuffer], eax
CDocManager::IsValidWMToolsStream(bool *)+F7 mov [ebp-40h], eax
CDocManager::IsValidWMToolsStream(bool *)+FA mov byte ptr [ebp-4], 2
CDocManager::IsValidWMToolsStream(bool *)+FE push dword ptr
[ebp-2Ch] ; int
CDocManager::IsValidWMToolsStream(bool *)+101 mov ecx, esi
CDocManager::IsValidWMToolsStream(bool *)+103 push ebx ; int
CDocManager::IsValidWMToolsStream(bool *)+104 push edi ;
wchar_t *
CDocManager::IsValidWMToolsStream(bool *)+105 call
?ExtractData@CDocManager@@QAEJPBGPAXJ@Z ;
CDocManager::ExtractData(ushort const *,void *,long)
CDocManager::IsValidWMToolsStream(bool *)+10A mov esi, eax
CDocManager::IsValidWMToolsStream(bool *)+10C test esi, esi
CDocManager::IsValidWMToolsStream(bool *)+10E jge short loc_118158A
CDocManager::IsValidWMToolsStream(bool *)+110 mov byte ptr [ebp-4], 1
CDocManager::IsValidWMToolsStream(bool *)+114 cmp dword ptr
[pBuffer], 0
CDocManager::IsValidWMToolsStream(bool *)+118 jz short loc_1181578
CDocManager::IsValidWMToolsStream(bool *)+29E push [pBuffer] ; void *
CDocManager::IsValidWMToolsStream(bool *)+2A1 call ??3@YAXPAX@Z ;
operator delete(void *)
CDocManager::IsValidWMToolsStream(bool *)+2A6 pop ecx
- -----/
Microsoft Producer中也可以触发这个漏洞,只需将扩展名从.MSWMM更改为.MSProducer。
<*来源:Damian Frizza
链接:http://secunia.com/advisories/38791/
http://marc.info/?l=full-disclosure&m=126817049910058&w=2
http://www.us-cert.gov/cas/techalerts/TA10-068A.html
http://www.microsoft.com/technet/security/bulletin/ms10-016.mspx?pf=true
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
* 删除Microsoft Producer 2003的.MSProducer、.MSProducerZ和.MSProducerBF文件关联。
* 通过限制访问禁用Microsoft Producer 2003。
* 禁止安装Microsoft Producer 2003。
* 卸载Microsoft Producer 2003。
http://www.exploit-db.com/sploits/Movie-Maker-Remote-Code-Execution-Exploit.zip
建议:
厂商补丁:
Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS10-016)以及相应补丁:
MS10-016:Vulnerability in Windows Movie Maker Could Allow Remote Code Execution (975561)
链接:http://www.microsoft.com/technet/security/bulletin/ms10-016.mspx?pf=true
浏览次数:3245
严重程度:0(网友投票)
绿盟科技给您安全的保障
