CVE:CVE-2004-0002
CNNVD:CNNVD-200403-009
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服务器。
solution:Upgrade freebsd freebsd to a higher version than 3.0,3.0:releng,3.1,3.2,3.3,3.4,3.5,3.5:stable,3.5.1,3.5.1:release,3.5.1:stable,4.0,4.0:alpha,4.0:releng,4.1,4.1.1,4.1.1:release,4.1.1:stable,4.2,4.2:stable,4.3,4.3:release,4.3:release_p38,4.3:releng,4.3:stable,4.4,4.4:release_p42,4.4:releng,4.4:stable,4.5,4.5:release,4.5:release_p32,4.5:releng,4.5:stable,4.6,4.6:release,4.6:release_p20,4.6:releng,4.6:stable,4.6.2,4.7,4.7:release,4.7:release_p17,4.7:releng,4.7:stable,4.8,4.8:pre-release,4.8:release_p6,4.8:releng,4.9,4.9:pre-release,5.0,5.0:alpha,5.0:release_p14,5.0:releng,5.1,5.1:release_p5,5.1:releng,5.2,and avoid the version 3.0,3.0:releng,3.1,3.2,3.3,3.4,3.5,3.5:stable,3.5.1,3.5.1:release,3.5.1:stable,4.0,4.0:alpha,4.0:releng,4.1,4.1.1,4.1.1:release,4.1.1:stable,4.2,4.2:stable,4.3,4.3:release,4.3:release_p38,4.3:releng,4.3:stable,4.4,4.4:release_p42,4.4:releng,4.4:stable,4.5,4.5:release,4.5:release_p32,4.5:releng,4.5:stable,4.6,4.6:release,4.6:release_p20,4.6:releng,4.6:stable,4.6.2,4.7,4.7:release,4.7:release_p17,4.7:releng,4.7:stable,4.8,4.8:pre-release,4.8:release_p6,4.8:releng,4.9,4.9:pre-release,5.0,5.0:alpha,5.0:release_p14,5.0:releng,5.1,5.1:release_p5,5.1:releng,5.2