-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ============================================================================= FreeBSD-EN-07:02.net Errata Notice The FreeBSD Project Topic: IPv6 over Point-to-Point gif(4) tunnels Category: core Module: sys_netinet6 Announced: 2007-02-28 Credits: Bruce A. Mah Affects: FreeBSD 6.2-RELEASE Corrected: 2007-02-08 22:52:56 UTC (RELENG_6, 6.2-STABLE) 2007-02-28 18:24:37 UTC (RELENG_6_2, 6.2-RELEASE-p2) For general information regarding FreeBSD Errata Notices and Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit . I. Background The FreeBSD kernel provides basic networking services, including (among other protocols) the IPv6 network protocol stack. The gif(4) tunnel driver provides a generic tunnelling interface, which is commonly used to carry IPv6 packets across an IPv4 internetwork. II. Problem Description FreeBSD 6.2-RELEASE contains a regression in the behavior of IPv6 over gif(4) tunnels configured as point-to-point interfaces (in other words, gif(4) interfaces with an explicitly-configured destination address and a 128-bit prefix length). When such an interface is configured, a route to the destination address must be added implicitly by the kernel to allow packets to traverse the tunnel properly. FreeBSD 6.2-RELEASE does not do this. III. Impact In some cases, it may be impossible for a host to send IPv6 traffic over a gif(4) tunnel interface due to the lack of an appropriate routing table entry. IV. Workaround One workaround is to add a route to the destination address explicitly using the route(8) command, as in the following example: # route add -host -inet6 ADDRESS -interface GIF -nostatic -llinfo In the command line above, ADDRESS and GIF should be replaced by the destination IPv6 address and the interface name of the gif(4) tunnel, respectively. In some cases, the host route to the destination may be added implicitly as a side-effect of receiving inbound packets over the tunnel. V. Solution Perform one of the following: 1) Upgrade your affected system to 6-STABLE or to the RELENG_6_2 security branch dated after the correction date. 2) To patch your present system: The following patches have been verified to apply to FreeBSD 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/EN-07:02/net.patch # fetch http://security.FreeBSD.org/patches/EN-07:02/net.patch.asc b) Apply the patch. # cd /usr/src # patch < /path/to/patch c) Recompile your kernel as described in and reboot the system. VI. Correction details The following list contains the revision numbers of each file that was corrected in FreeBSD. Branch Revision Path - ---------------------------------------------------------------------------- RELENG_6_2 src/UPDATING 1.416.2.29.2.5 src/sys/conf/newvers.sh 1.69.2.13.2.5 src/sys/netinet6/nd6.c 1.48.2.15.2.1 - ---------------------------------------------------------------------------- The latest revision of this Errata Notice is available at http://security.FreeBSD.org/advisories/FreeBSD-EN-07:02.net.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFF5ct4FdaIBMps37IRAjN0AJ9llRTF/ccXBJDRqJeFDocSkIF5lQCdF2ww y+4KLUVBRVLLQz0AJuKygfc= =x04b -----END PGP SIGNATURE-----