安全研究

安全漏洞
rdesktop多个缓冲区溢出漏洞

发布日期:2008-05-07
更新日期:2008-05-08

受影响系统:
rdesktop rdesktop 1.5.0
描述:
BUGTRAQ  ID: 29097
CVE(CAN) ID: CVE-2008-1801,CVE-2008-1802,CVE-2008-1803

rdesktop是实现RDP协议的开源客户端,允许基于Unix的用户登录到Windows终端服务器。

rdesktop负责重新分配动态缓冲区的代码(channel_process())中存在堆溢出漏洞。rdesktop的xrealloc()函数使用有符比较判断所请求的分配大小是否小于1。如果小于1的话,这个函数错误的将分配大小设置为1,这导致分配了错误大小的堆缓冲区,之后会被溢出。

rdesktop负责在RDP重新定向请求中执行读操作的代码(process_redirect_pdu())存在缓冲区溢出。在解析重新定向请求时,rdesktop客户端从请求报文中读取了一些32位的整数,然后使用这些整数控制读入到静态分配缓冲区中的字节数,这可能会溢出一些位于BSS部分中的缓冲区。

rdesktop负责在RDP请求中执行读操作的代码(iso_recv_msg())存在堆溢出漏洞。在读取请求时,直接从报文中获得了代表之后跟随字节数的16位整数,然后将这个值递减4并用于计算将要读取到堆缓冲区中的字节数。上述减法运算可能下溢,之后导致堆溢出。


<*来源:iDEFENSE
  
  链接:http://secunia.com/advisories/30118/
        http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=698
        http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=697
        http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=696
        http://www.debian.org/security/2008/dsa-1573
        http://security.gentoo.org/glsa/glsa-200806-04.xml
*>

测试方法:

警 告

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

http://www.milw0rm.com/exploits/5561
http://www.milw0rm.com/exploits/5585

建议:
厂商补丁:

Debian
------
Debian已经为此发布了一个安全公告(DSA-1573-1)以及相应补丁:
DSA-1573-1:rdesktop -- several vulnerabilities
链接:http://www.debian.org/security/2008/dsa-1573

补丁下载:
Source archives:

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2.diff.gz
Size/MD5 checksum:    20213 2f0174a7cec7a431f82234c9cebaadd5
http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0.orig.tar.gz
Size/MD5 checksum:   245137 433546f60fc0f201e99307ba188369ed
http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2.dsc
Size/MD5 checksum:      932 ea3849b040a1fecdbca046458b5c4e22

alpha architecture (DEC Alpha)

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_alpha.deb
Size/MD5 checksum:   182160 30e6bc460bdfcc99e0d71b6171f90238

amd64 architecture (AMD x86_64 (AMD64))

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_amd64.deb
Size/MD5 checksum:   137356 0cefb8fb94740fbc46feae4f8d8dd888

arm architecture (ARM)

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_arm.deb
Size/MD5 checksum:   141908 5f350550c2f54138d9fc2f7f8af24626

hppa architecture (HP PA RISC)

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_hppa.deb
Size/MD5 checksum:   145270 9153febda46b7c6a9e892880e0eacc90

i386 architecture (Intel ia32)

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_i386.deb
Size/MD5 checksum:   123872 608524d02a24a20f4eb4c34ae101d87c

ia64 architecture (Intel ia64)

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_ia64.deb
Size/MD5 checksum:   194538 69b2707d0ee990acd980e9dbd44d4a00

mipsel architecture (MIPS (Little Endian))

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_mipsel.deb
Size/MD5 checksum:   146580 c030489088218b9ef271d75c469d50f1

powerpc architecture (PowerPC)

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_powerpc.deb
Size/MD5 checksum:   141286 dc62405a5d851c189248d23044ce17e6

s390 architecture (IBM S/390)

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_s390.deb
Size/MD5 checksum:   144540 aa95e6306a2c643465cc4514463cd967

sparc architecture (Sun SPARC/UltraSPARC)

http://security.debian.org/pool/updates/main/r/rdesktop/rdesktop_1.5.0-1etch2_sparc.deb
Size/MD5 checksum:   127814 7a8fd0a99fe22dd98f6bd64bdcd9ce48

补丁安装方法:

1. 手工安装补丁包:

  首先,使用下面的命令来下载补丁软件:
  # wget url  (url是补丁下载链接地址)

  然后,使用下面的命令来安装补丁:  
  # dpkg -i file.deb (file是相应的补丁名)

2. 使用apt-get自动安装补丁包:

   首先,使用下面的命令更新内部数据库:
   # apt-get update
  
   然后,使用下面的命令安装更新软件包:
   # apt-get upgrade

Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200806-04)以及相应补丁:
GLSA-200806-04:rdesktop: Multiple vulnerabilities
链接:http://security.gentoo.org/glsa/glsa-200806-04.xml

所有rdesktop用户都应升级到最新版本:

    # emerge --sync
    # emerge --ask --oneshot --verbose ">=net-misc/rdesktop-1.6.0"

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

http://rdesktop.cvs.sourceforge.net/rdesktop/rdesktop/rdp.c?annotate=1.102&pathrev=HEAD#l1337

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