Microsoft Windows GDI CreateDIBPatternBrushPt函数堆溢出漏洞(MS08-021)
受影响系统:<br />Microsoft Windows XP SP2
<br />Microsoft Windows Vista SP1
<br />Microsoft Windows Vista
<br />Microsoft Windows Server 2008
<br />Microsoft Windows Server 2003 SP2
<br />Microsoft Windows Server 2003 SP1
<br />Microsoft Windows 2000SP4
<br />描述:
<br />--------------------------------------------------------------------------------
<br />BUGTRAQID: 28571
<br />CVE(CAN) ID: CVE-2008-1083
<br />
<br />Microsoft Windows是微软发布的非常流行的操作系统。
<br />
<br />Windows的GDI函数CreateDIBPatternBrushPt用于处理WMF文件。由于错误地计算了用户数据,可能没有充分地分配堆块并在之后使用了该块,导致堆溢出。此外在解析EMF文件中用于描述文件中所包含位图的头结构时,直接在计算所要分配字节数的算术操作中使用了这个头中的一些值,这个计算可能溢出,最终导致堆溢出。如果用户受骗打开了特制的图形文件的话,就可能触发这些溢出,导致执行任意指令。
<br />
<br /><*来源:Sebastian Apelt (webmaster@buzzworld.org)
<br />
<br />链接:http://secunia.com/advisories/29704/
<br /> http://marc.info/?l=bugtraq&m=120768479804050&w=2
<br /> http://www.microsoft.com/technet/security/Bulletin/MS08-021.mspx
<br /> http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=682
<br /> http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=681
<br /> http://www.us-cert.gov/cas/techalerts/TA08-099A.html
<br />*>
<br />
<br />建议:
<br />--------------------------------------------------------------------------------
<br />临时解决方法:
<br />
<br />* 通过修改注册表禁用元文件处理
<br />
<br /> 1. 单击“开始”,单击“运行”,在“打开”框中键入Regedit,然后单击“确定”。
<br /> 2. 找到并随后单击下列注册表子项:
<br /> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize
<br /> 3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD”。
<br /> 4. 键入DisableMetaFiles,然后按 Enter。
<br /> 5. 在“编辑”菜单上,单击“修改”以修改DisableMetaFiles注册表项。
<br /> 6. 在“数值数据”框中键入1,然后单击“确定”。
<br /> 7. 退出注册表编辑器。
<br /> 8. 重新启动计算机。
<br />
<br />厂商补丁:
<br />
<br />Microsoft
<br />---------
<br />Microsoft已经为此发布了一个安全公告(MS08-021)以及相应补丁:
<br />MS08-021:Vulnerabilities in GDI Could Allow Remote Code Execution (948590)
<br />链接:http://www.microsoft.com/technet/security/Bulletin/MS08-021.mspx
<br />
頁:
[1]