安全研究

安全漏洞
Microsoft Windows GDI+库GPFont::SetData()函数单字节溢出漏洞

发布日期:2009-03-24
更新日期:2009-04-03

受影响系统:
Microsoft Windows XP SP3
Microsoft Windows XP SP2
描述:
BUGTRAQ  ID: 34250
CVE(CAN) ID: CVE-2009-1217

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

Windows的GDI+函数库(gdiplus.dll)的GPFont::SetData()函数中存在单字节溢出漏洞。如果用户受骗打开了EmfPlusFontObject记录中设置有特制字体长度值的EMF图形的话,就可以触发这个溢出,导致使用该库的应用程序崩溃。以下是Windows XP中的有漏洞代码段:

#define FamilyNameMax 32
...
WCHAR familyName[FamilyNameMax];
...
length = fontData->Length; // this comes from the EMF file
...
if (length > FamilyNameMax)
{
length = FamilyNameMax;
}
...
// read in the familyName/data
UnicodeStringCopyCount (familyName, (WCHAR *)dataBuffer, length);
familyName[length]=0

<*来源:mIKEJONES
  
  链接:http://bl4cksecurity.blogspot.com/2009/03/microsoft-gdiplus-emf-gpfontsetdata.html
        http://blogs.technet.com/srd/archive/2009/03/26/new-emf-gdiplus-dll-crash-not-exploitable-for-code-execution.aspx
*>

测试方法:

警 告

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

http://milw0rm.com/sploits/2009-voltage-exploit.emf

建议:
厂商补丁:

Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.microsoft.com/technet/security/

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