Microsoft Windows GDI CreateDIBPatternBrushPt函数堆溢出漏

网络安全 2021-07-03 10:02www.168986.cn网络安全知识
受影响系统
Microsoft Windows XP SP2
Microsoft Windows Vista SP1
Microsoft Windows Vista
Microsoft Windows Server 2008
Microsoft Windows Server 2003 SP2
Microsoft Windows Server 2003 SP1
Microsoft Windows 2000SP4
描述
--------------------------------------------------------------------------------
BUGTRAQ ID: 28571
CVE(CAN) ID: CVE-2008-1083

Microsoft Windows是微软发布的非常流行的操作系统。

Windows的GDI函数CreateDIBPatternBrushPt用于处理WMF文件。由于错误地计算了用户数据,可能没有充分地分配堆块并在之后使用了该块,导致堆溢出。在解析EMF文件中用于描述文件中所包含位图的头结构时,直接在计算所要分配字节数的算术操作中使用了这个头中的一些值,这个计算可能溢出,最终导致堆溢出。如果用户受骗打开了特制的图形文件的话,就可能触发这些溢出,导致执行任意指令。

<来源Sebastian Apelt (webmaster@buzzworld.)

链接http://secunia./advisories/29704/
http://marc.info/?l=bugtraq&m=120768479804050&w=2
http://.microsoft./tech/security/Bulletin/MS08-021.mspx
http://labs.idefense./intelligence/vulnerabilities/display.php?id=682
http://labs.idefense./intelligence/vulnerabilities/display.php?id=681
http://.us-cert.gov/cas/techalerts/TA08-099A.html
>

建议
--------------------------------------------------------------------------------
临时解决方法

通过修改注册表禁用元文件处理

1. 单击“开始”,单击“运行”,在“打开”框中键入Regedit,然后单击“确定”。
2. 找到并随后单击下列注册表子项
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize
3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD”。
4. 键入DisableMetaFiles,然后按 Enter。
5. 在“编辑”菜单上,单击“修改”以修改DisableMetaFiles注册表项。
6. 在“数值数据”框中键入1,然后单击“确定”。
7. 退出注册表编辑器。
8. 重新启动计算机。

厂商补丁

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS08-021)以及相应补丁:
MS08-021Vulnerabilities in GDI Could Allow Remote Code Execution (948590)
链接http://.microsoft./tech/security/Bulletin/MS08-021.mspx

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by