安全研究

安全漏洞
Qemu和KVM VNC服务器远程拒绝服务漏洞

发布日期:2008-12-22
更新日期:2008-12-23

受影响系统:
Fabrice Bellard QEMU 0.9.1
Qumranet KVM 79
Qumranet KVM 36
描述:
BUGTRAQ  ID: 32910
CVE(CAN) ID: CVE-2008-2382

QEMU和KVM都是开放源码的模拟器软件。

Qemu和KVM的VNC服务器在处理特制的报文时可能出现死循环,导致拒绝服务的情况。

vnc.c文件的protocol_client_msg()函数负责处理入站的VNC低层消息,以下是有漏洞的代码段:

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

vnc.c
1185:    static int protocol_client_msg(VncState *vs, uint8_t *data, size_t
len)
1186:    {
1187:        int i;
1188:        uint16_t limit;
1189:    
1190:        switch (data[0]) {

...

1201:        case 2:
1202:        if (len == 1)
1203:            return 4;
1204:    
1205:        if (len == 4)
1206:            return 4 + (read_u16(data, 2) * 4);

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

当VNC服务器接收到由\x02\x00\x00\x00组成的消息时,read_u16()函数会返回0。由于调用该函数的len参数总为4,这就会触发死循环。

<*来源:Alfredo Ortega
  
  链接:http://marc.info/?l=bugtraq&m=122997646709767&w=2
        http://secunia.com/advisories/33293/
*>

测试方法:

警 告

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

http://www.coresecurity.com/content/vnc-remote-dos

建议:
厂商补丁:

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

http://fabrice.bellard.free.fr/qemu/

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

http://kvm.qumranet.com/kvmwiki/Front_Page

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