安全研究
安全漏洞
FreeBSD NetINet TCP MSS大小远程拒绝服务漏洞
发布日期:2004-02-03
更新日期:2004-02-13
受影响系统:FreeBSD FreeBSD 5.2-RELEASE
FreeBSD FreeBSD 5.1-RELEASE
FreeBSD FreeBSD 5.0
FreeBSD FreeBSD 4.8
FreeBSD FreeBSD 4.7
FreeBSD FreeBSD 4.6
FreeBSD FreeBSD 4.5
描述:
BUGTRAQ ID:
9572
CVE(CAN) ID:
CVE-2004-0002
FreeBSD是一款开放源代码的操作系统。
FreeBSD netinet实现对TCP MSS处理存在问题,远程攻击者可以利用这个漏洞对目标进行拒绝服务攻击。
为了网络连接优化,TCP需要调整MSS,然后包大小必须遵守路径MTU,这可以通过动态的从远程主机和网络的反馈进行调整。
要进行资源耗竭,可通过如下两种方法:
- TCP连接阶段设置通告在末端间交换的本地MSS,远程末端可以设置任意低的MSS值(除了BSD代码强制限制的64八位组的最小MTU)。当本地主机发送数据会强制发送个小的IP包来代替大包。
如要替换普通的TCP负载大小为1448的字节,在强制设置后分割成TCP负载为12字节(MTU 64)的包,因此我们必须发送120次这样的包。在快速链接上这可消耗大量本地CPU,如果攻击者下载大的文件如WWW和FTP服务器上,会造成拒绝服务。
此问题可以通过sysctl net.inet.tcp.minmss设置强制最小MTU为256八位组来暂时消除此问题。
- 本地主机接收来自远程主机TCP连接的数据,本地主机没有控制远程主机发送的包大小。远程主机可以选择上面所描述的攻击,并发送TCP负载至少为1字节的数据,因为每个包都会进入tcp_input() ,然后处理此包,sowakeup()被信号通告连接进程。
如攻击者以2Mbit/s每秒提交4716个包,sowakeup()就必须进行相同数量的处理,可造成资源耗竭,这类攻击可通过上传大量数据来完成,一般如通过提交超大POST 请求给WWW服务器。
<*来源:FreeBSD
链接:
http://lists.freebsd.org/pipermail/cvs-src/2004-January/016271.html
*>
建议:
厂商补丁:
FreeBSD
-------
在最新的FreeBSD CVS development branch已经修正此漏洞:
http://lists.freebsd.org/pipermail/cvs-src/浏览次数:3098
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载 绿盟科技给您安全的保障 |