[Glibc-bsd-commits] r1920 - in trunk/kfreebsd-6/debian: . patches

Aurelien Jarno aurel32 at alioth.debian.org
Thu May 3 14:14:41 UTC 2007


Author: aurel32
Date: 2007-05-03 14:14:41 +0000 (Thu, 03 May 2007)
New Revision: 1920

Added:
   trunk/kfreebsd-6/debian/patches/000_ipv6.diff
Modified:
   trunk/kfreebsd-6/debian/changelog
Log:
  * Fix a possible DoS using IPv6 Routing Header 0 (FreeBSD-SA-07:03.ipv6
    / CVE-2007-2242).



Modified: trunk/kfreebsd-6/debian/changelog
===================================================================
--- trunk/kfreebsd-6/debian/changelog	2007-04-27 06:39:06 UTC (rev 1919)
+++ trunk/kfreebsd-6/debian/changelog	2007-05-03 14:14:41 UTC (rev 1920)
@@ -1,3 +1,10 @@
+kfreebsd-6 (6.2-2) unreleased; urgency=low
+
+  * Fix a possible DoS using IPv6 Routing Header 0 (FreeBSD-SA-07:03.ipv6
+    / CVE-2007-2242).
+
+ -- Aurelien Jarno <aurel32 at debian.org>  Thu, 03 May 2007 16:05:58 +0200
+
 kfreebsd-6 (6.2-1) unreleased; urgency=low
 
   [ Petr Salinger ]

Added: trunk/kfreebsd-6/debian/patches/000_ipv6.diff
===================================================================
--- trunk/kfreebsd-6/debian/patches/000_ipv6.diff	2007-04-27 06:39:06 UTC (rev 1919)
+++ trunk/kfreebsd-6/debian/patches/000_ipv6.diff	2007-05-03 14:14:41 UTC (rev 1920)
@@ -0,0 +1,66 @@
+Index: sys/netinet6/in6.h
+===================================================================
+RCS file: /sources/FreeBSD-CVS/src/sys/netinet6/in6.h,v
+retrieving revision 1.36.2.7
+diff -u -r1.36.2.7 in6.h
+--- sys/netinet6/in6.h	20 Aug 2006 19:28:43 -0000	1.36.2.7
++++ sys/netinet6/in6.h	24 Apr 2007 03:11:29 -0000
+@@ -574,5 +574,6 @@
+ #define IPV6CTL_STEALTH		45
+-#define IPV6CTL_MAXID		46
++#define IPV6CTL_RTHDR0_ALLOWED  46
++#define IPV6CTL_MAXID		47
+ #endif /* __BSD_VISIBLE */
+ 
+ /*
+Index: sys/netinet6/in6_proto.c
+===================================================================
+RCS file: /sources/FreeBSD-CVS/src/sys/netinet6/in6_proto.c,v
+retrieving revision 1.32.2.5
+diff -u -r1.32.2.5 in6_proto.c
+--- sys/netinet6/in6_proto.c	16 Oct 2006 15:11:18 -0000	1.32.2.5
++++ sys/netinet6/in6_proto.c	24 Apr 2007 07:46:54 -0000
+@@ -376,6 +376,8 @@
+ #ifdef IPSTEALTH
+ int	ip6stealth = 0;
+ #endif
++int     ip6_rthdr0_allowed = 0; /* Disallow use of routing header 0 */
++				/* by default. */
+ 
+ /* icmp6 */
+ /*
+@@ -519,6 +521,9 @@
+ SYSCTL_INT(_net_inet6_ip6, IPV6CTL_STEALTH, stealth, CTLFLAG_RW,
+ 	&ip6stealth, 0, "");
+ #endif
++SYSCTL_INT(_net_inet6_ip6, IPV6CTL_RTHDR0_ALLOWED, 
++	   rthdr0_allowed, CTLFLAG_RW, &ip6_rthdr0_allowed, 0, "");
++
+ 
+ /* net.inet6.icmp6 */
+ SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_REDIRACCEPT,
+Index: sys/netinet6/route6.c
+===================================================================
+RCS file: /sources/FreeBSD-CVS/src/sys/netinet6/route6.c,v
+retrieving revision 1.11.2.1
+diff -u -r1.11.2.1 route6.c
+--- sys/netinet6/route6.c	4 Nov 2005 20:26:15 -0000	1.11.2.1
++++ sys/netinet6/route6.c	24 Apr 2007 08:06:00 -0000
+@@ -49,6 +49,8 @@
+ 
+ #include <netinet/icmp6.h>
+ 
++extern int ip6_rthdr0_allowed;
++
+ static int ip6_rthdr0 __P((struct mbuf *, struct ip6_hdr *,
+     struct ip6_rthdr0 *));
+ 
+@@ -88,6 +90,8 @@
+ 
+ 	switch (rh->ip6r_type) {
+ 	case IPV6_RTHDR_TYPE_0:
++		if (!ip6_rthdr0_allowed)
++			return (IPPROTO_DONE);
+ 		rhlen = (rh->ip6r_len + 1) << 3;
+ #ifndef PULLDOWN_TEST
+ 		/*




More information about the Glibc-bsd-commits mailing list