首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第24期->最新漏洞
期刊号: 类型: 关键词:
多个Unix系统的telnetd存在缓冲区溢出漏洞

日期:2001-08-13

受影响的系统:  
BSDI BSD/OS 4.0.1
BSDI BSD/OS 4.0
FreeBSD FreeBSD 5.0
FreeBSD FreeBSD 4.3
FreeBSD FreeBSD 4.2
FreeBSD FreeBSD 4.1.1
FreeBSD FreeBSD 4.1
FreeBSD FreeBSD 4.0
FreeBSD FreeBSD 3.x
FreeBSD FreeBSD 2.x
NetBSD NetBSD 1.5.1
NetBSD NetBSD 1.5
NetBSD NetBSD 1.4.3
NetBSD NetBSD 1.4.2
NetBSD NetBSD 1.4.1
NetBSD NetBSD 1.4
NetBSD NetBSD 1.3.3
NetBSD NetBSD 1.3.2
NetBSD NetBSD 1.3.1
NetBSD NetBSD 1.3
NetBSD NetBSD 1.2.1
NetBSD NetBSD 1.2
NetBSD NetBSD 1.1
NetBSD NetBSD 1.0
Netkit Linux Netkit 0.12
Netkit Linux Netkit 0.11
Netkit Linux Netkit 0.10
OpenBSD OpenBSD 2.8
OpenBSD OpenBSD 2.7
OpenBSD OpenBSD 2.6
OpenBSD OpenBSD 2.5
OpenBSD OpenBSD 2.4
OpenBSD OpenBSD 2.3
OpenBSD OpenBSD 2.2
OpenBSD OpenBSD 2.1
OpenBSD OpenBSD 2.0
SGI IRIX 6.5
Sun Solaris 8.0
Sun Solaris 7.0
Sun Solaris 2.6


不受影响系统:  
Netkit Linux Netkit 0.14
OpenBSD OpenBSD 2.9
描述:
--------------------------------------------------------------------------------


BUGTRAQ ID : 3064

来源于BSD telnet守护程序的telnetd存在一个边界检查错误。

在处理telnet协议选项的函数中没有进行有效的边界检查,当使用某些选项('AYT')时,
可能发生缓冲区溢出。

由于攻击者可以控制的字符是有限的而且溢出发生在BSS区,因此,攻击受到一定限制。
但是发现者报告说至少在某些系统(FreeBSD/BSDI/NetBSD)下攻击是切实可行的。

<*来源:Sebastian (scut@nb.in-berlin.de)
  链接:http://www.team-teso.net/advisories/teso-advisory-011.tar.gz
*>





--------------------------------------------------------------------------------
建议:

临时解决方法:

我们建议您关闭telnet,换用ssh或openssh.

厂商补丁:

1. FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-01:49)以及相应补丁:
   
   a)对于已安装了加密telnet源码的系统

      请从下面地址下载补丁

      ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd-crypto.patch

      # cd /usr/src/
      # patch -p < /path/to/patch
      # cd /usr/src/secure/libexec/telnetd
      # make depend && make all install

   b) 对于没有安装加密telnet源码的系统

      请从下面地址下载补丁:

      ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd.patch

      # cd /usr/src/
      # patch -p < /path/to/patch
      # cd /usr/src/libexec/telnetd
      # make depend && make all install

2. BSDI已经为此发布了相应的补丁:

   BSDi BSD/OS 4.2:
   http://www.bsdi.com/services/support/patches/patches-4.2/i386/M420-014

   BSDi BSD/OS 4.1:
   http://www.bsdi.com/services/support/patches/patches-4.1/M410-043

3. NetBSD已经为此发布了一个安全公告(NetBSD-SA2001-012)和相应补丁:

* NetBSD-current:

   您可以从CVS更新,然后重新编译安装telnetd:
   # cd src/libexec/telnetd
   # cvs update -d -P
   # make cleandir dependall install

* NetBSD 1.3, 1.3.x, 1.4, 1.4.x, 1.5, 1.5.1

   您可以从下列地址下载补丁,然后重新编译安装telnetd:
   ftp://ftp.netbsd.org/pub/NetBSD/security/patches/SA2001-012-telnetd.patch

   # cd src/libexec/telnetd
   # patch < SA2001-012-telnetd.patch
   # make cleandir dependall install

版权所有,未经许可,不得转载