FreeBSD安全公告 FreeBSD-SA-02:21

/ns/ld/unix/data/20020513025710.htm

涉及程序:
FreeBSD 4.5 ICMP

描述:
FreeBSD ICMP拒绝服务攻击漏洞

详细:
FreeBSD是源代码开放的免费操作系统。

FreeBSD在实现ICMP时存在漏洞,远程攻击者能利用此漏洞进行拒绝服务攻击。

TCP/IP堆栈的路由表用于记录如何到达不同目的地的信息。与某台主机首次建立TCP连接时,预设的路由会自动为这台主机生成一个"cloned route"表项并加入列表。每个表项都有一个显示当前有多少个连接正在使用该表项的引用记录(reference count);当引用记录为零时,列表就会删除该表项。 ip_output()处理ICMP echo回复信息时存在一个安全漏洞,导致路由表中的引用记录不能递减。 因此分配给路由表表项的内存也无法释放,在持续的攻击下会导致系统内存耗尽。

受影响系统:
FreeBSD ICMP - FreeBSD 4.5




解决方案:
下载补丁:
1) 将受影响的FreeBSD系统升级到相应修正日期后发布的4.5-STABLE、4.5-RELEASE-p3或
RELENG_4_5 security branch。

2) 为现有系统安装补丁:
a) 从下列地址下载相应的补丁并用你的PGP工具核实分开的PGP签名。

[4.5-RELEASE,
4-STABLE between 2001-12-28 10:08:33 UTC and 2002-02-20 14:57:41 UTC]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:21/tcpip.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:21/tcpip.patch.asc

b) 以root身份执行下列命令:

# cd /usr/src
# patch < /path/to/patch

c) 按照下列描述重新编写kernel并重启系统:

http://www.freebsd.org/handbook/kernelconfig.html



如果您不能立刻安装补丁或者升级,建议您禁止ICMP以降低威胁