安全研究

安全漏洞
FreeBSD NFS服务器畸形mout请求远程拒绝服务漏洞

发布日期:2006-02-27
更新日期:2006-03-01

受影响系统:
FreeBSD FreeBSD 6.x
FreeBSD FreeBSD 5.x
FreeBSD FreeBSD 4.x
描述:
BUGTRAQ  ID: 16838
CVE(CAN) ID: CVE-2006-0900

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

FreeBSD的NFS服务器实现在处理畸形用户请求时存在漏洞,远程攻击者可能利用此漏洞对操作系统执行拒绝服务攻击。

NFS服务器的代码在处理一些通过TCP入站的RPC消息时存在空指标引用错误,如果收到了长度为0的畸形mount请求时会导致FreeBSD Kernel崩溃。

<*来源:Evgeny Legerov (aland@freeradius.org
  
  链接:http://lists.immunitysec.com/pipermail/dailydave/2006-February/002982.html
        ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:10.nfs.asc
*>

测试方法:

警 告

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

向运行nfsd的FreeBSD机器的2049 TCP端口发送以下请求:

80 00 00 00 00 00 00 01 00 00 00 00 00 00 00 02
00 01 86 a5 00 00 00 01 00 00 00 01 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04
2f 74 6d 70

建议:
临时解决方法:

1) 禁用NFS server:在/etc/rc.conf中将nfs_server_enable变量设置为“NO”并重启。

   或者,如果showmount(8)工具中没有列出活动的NFS客户端的话,杀死mountd和nfsd进程便足以缓解漏洞造成的威胁。

2) 添加防火墙规则,阻断不可信任主机到NFS Server的RPC通讯。

厂商补丁:

FreeBSD
-------
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-06:10)以及相应补丁:
FreeBSD-SA-06:10:Remote denial of service in NFS server
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:10.nfs.asc

补丁下载:

执行以下步骤之一:

1) 将有漏洞的系统升级到4-STABLE, 5-STABLE或6-STABLE,或修改日期之后的RELENG_6_0,
RELENG_5_4, RELENG_5_3, RELENG_4_11或RELENG_4_10安全版本.

2) 为当前系统打补丁:

以下补丁确认可应用于FreeBSD 4.10, 4.11, 5.3, 5.4和6.0系统.

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

[FreeBSD 4.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:10/nfs4.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:10/nfs4.patch.asc

[FreeBSD 5.x和6.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:10/nfs.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:10/nfs.patch.asc

b) 应用补丁

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

c) 如<URL:http://www.freebsd.org/handbook/kernelconfig.html> 所述重新编译内核并重启系统.

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