Lucene search

K
seebugRootSSV:4802
HistoryFeb 20, 2009 - 12:00 a.m.

FreeBSD telnetd守护程序远程代码执行漏洞

2009-02-2000:00:00
Root
www.seebug.org
13

BUGTRAQ ID: 33777

FreeBSD就是一种运行在Intel平台上、可以自由使用的开放源码Unix类系统。

telnet协议允许传送telnet通讯中的环境变量并分配给tcp连接的另一端。FreeBSD的telnet守护程序在执行/bin/login之前没有检查LD_* (如LD_PRELOAD)环境变量,因此攻击者可以在传送的环境变量中包含LD_PRELOAD标识和文件系统上带有恶意代码的预编译库值。在以用户id和组id 0(root)执行/bin/login时,就会通过telnet环境定义预加载远程连接所设置的库并执行。

能够向目标系统放置特制文件(通过合法的登录到系统或利用系统上的其他服务)可以以运行telnet守护程序(通常为root)用户的权限执行任意代码。

FreeBSD FreeBSD 7.1
FreeBSD FreeBSD 7.0
厂商补丁:

FreeBSD

FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-09:05)以及相应补丁:
FreeBSD-SA-09:05:telnetd code execution vulnerability
链接:<a href=“ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-09:05.telnetd.asc” target=“_blank”>ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-09:05.telnetd.asc</a>

补丁下载:

  1. 将有漏洞的系统升级到7-STABLE,或修改日期之后的RELENG_7_1或RELENG_7_0安全版本。

  2. 为当前系统打补丁:

以下补丁确认可应用于FreeBSD 7.0和7.1系统。

a) 从以下位置下载相关补丁,并使用PGP工具验证附带的PGP签名。

fetch <a href=“http://security.FreeBSD.org/patches/SA-09:05/telnetd.patch” target=“_blank”>http://security.FreeBSD.org/patches/SA-09:05/telnetd.patch</a>

fetch <a href=“http://security.FreeBSD.org/patches/SA-09:05/telnetd.patch.asc” target=“_blank”>http://security.FreeBSD.org/patches/SA-09:05/telnetd.patch.asc</a>

b) 以root执行以下命令:

cd /usr/src

patch < /path/to/patch

cd /usr/src/lib/bind

make obj && make depend && make && make install

cd /usr/src/usr.sbin/named

make obj && make depend && make && make install

/etc/rc.d/named restart

c) 安装并使用FreeBSD移植集的修复版本BIND。


                                                http://www.sebug.net/exploit/5800/