-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ============================================================================= FreeBSD-SA-07:06.tcpdump Security Advisory The FreeBSD Project Topic: Buffer overflow in tcpdump(1) Category: contrib Module: tcpdump Announced: 2007-08-01 Credits: "mu-b" Affects: All supported versions of FreeBSD Corrected: 2007-08-01 20:42:48 UTC (RELENG_6, 6.2-STABLE) 2007-08-01 20:44:58 UTC (RELENG_6_2, 6.2-RELEASE-p7) 2007-08-01 20:45:49 UTC (RELENG_6_1, 6.1-RELEASE-p19) 2007-08-01 20:47:13 UTC (RELENG_5, 5.5-STABLE) 2007-08-01 20:48:19 UTC (RELENG_5_5, 5.5-RELEASE-p15) CVE Name: CVE-2007-3798 For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit . I. Background Tcpdump is a commonly used network diagnostic utility which decodes packets received on the wire into human readable format. II. Problem Description An un-checked return value in the BGP dissector code can result in an integer overflow. This value is used in subsequent buffer management operations, resulting in a stack based buffer overflow under certain circumstances. III. Impact By crafting malicious BGP packets, an attacker could exploit this vulnerability to execute code or crash the tcpdump process on the target system. This code would be executed in the context of the user running tcpdump(1). It should be noted that tcpdump(1) requires privileges in order to open live network interfaces. IV. Workaround No workaround is available. V. Solution Perform one of the following: 1) Upgrade your vulnerable system to 5-STABLE, or 6-STABLE, or to the RELENG_6_2, RELENG_6_1, or RELENG_5_5 security branch dated after the correction date. 2) To patch your present system: The following patches have been verified to apply to FreeBSD 5.5, 6.1, and 6.2 systems. a) Download the relevant patch from the location below, and verify the detached PGP signature using your PGP utility. # fetch http://security.FreeBSD.org/patches/SA-07:06/tcpdump.patch # fetch http://security.FreeBSD.org/patches/SA-07:06/tcpdump.patch.asc b) Execute the following commands as root: # cd /usr/src # patch < /path/to/patch # cd /usr/src/usr.sbin/tcpdump/tcpdump # make obj && make depend && make && make install VI. Correction details The following list contains the revision numbers of each file that was corrected in FreeBSD. Branch Revision Path - ------------------------------------------------------------------------- RELENG_5 src/contrib/tcpdump/print-bgp.c 1.1.1.5.2.2 RELENG_5_5 src/UPDATING 1.342.2.35.2.15 src/sys/conf/newvers.sh 1.62.2.21.2.17 src/contrib/tcpdump/print-bgp.c 1.1.1.5.2.1.2.1 RELENG_6 src/contrib/tcpdump/print-bgp.c 1.1.1.8.2.1 RELENG_6_2 src/UPDATING 1.416.2.29.2.10 src/sys/conf/newvers.sh 1.69.2.13.2.10 src/contrib/tcpdump/print-bgp.c 1.1.1.8.8.1 RELENG_6_1 src/UPDATING 1.416.2.22.2.21 src/sys/conf/newvers.sh 1.69.2.11.2.21 src/contrib/tcpdump/print-bgp.c 1.1.1.8.6.1 - ------------------------------------------------------------------------- VII. References http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3798 The latest revision of this advisory is available at http://security.FreeBSD.org/advisories/FreeBSD-SA-07:06.tcpdump.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFGsPfwFdaIBMps37IRAmK/AJ0adsy8zlOOXaJhJJdcX6A0Uy+bSQCfQYVi 4qk7MNSrKFZotejLEXKMCYI= =JIZh -----END PGP SIGNATURE-----