[kernel] r16558 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series

Ben Hutchings benh at alioth.debian.org
Mon Nov 15 03:34:51 UTC 2010


Author: benh
Date: Mon Nov 15 03:34:43 2010
New Revision: 16558

Log:
tcp: Increase TCP_MAXSEG socket option minimum (CVE-2010-4165)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/tcp-Increase-TCP_MAXSEG-socket-option-minimum.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/28

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Mon Nov 15 03:12:15 2010	(r16557)
+++ dists/sid/linux-2.6/debian/changelog	Mon Nov 15 03:34:43 2010	(r16558)
@@ -44,6 +44,7 @@
     - x25 accesses fields beyond end of packet
     - memory corruption in X.25 facilities parsing (CVE-2010-3873)
     - Prevent crashing when parsing bad X.25 facilities
+  * tcp: Increase TCP_MAXSEG socket option minimum (CVE-2010-4165)
 
   [ dann frazier ]
   * [vserver] Update patch to 2.6.32.25-vs2.3.0.36.29.6

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/tcp-Increase-TCP_MAXSEG-socket-option-minimum.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/tcp-Increase-TCP_MAXSEG-socket-option-minimum.patch	Mon Nov 15 03:34:43 2010	(r16558)
@@ -0,0 +1,39 @@
+From: David S. Miller <davem at davemloft.net>
+Date: Wed, 10 Nov 2010 21:35:37 -0800
+Subject: [PATCH] tcp: Increase TCP_MAXSEG socket option minimum.
+
+commit 7a1abd08d52fdeddb3e9a5a33f2f15cc6a5674d2 upstream.
+
+As noted by Steve Chen, since commit
+f5fff5dc8a7a3f395b0525c02ba92c95d42b7390 ("tcp: advertise MSS
+requested by user") we can end up with a situation where
+tcp_select_initial_window() does a divide by a zero (or
+even negative) mss value.
+
+The problem is that sometimes we effectively subtract
+TCPOLEN_TSTAMP_ALIGNED and/or TCPOLEN_MD5SIG_ALIGNED from the mss.
+
+Fix this by increasing the minimum from 8 to 64.
+
+Reported-by: Steve Chen <schen at mvista.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ net/ipv4/tcp.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
+index 245603c..0814199 100644
+--- a/net/ipv4/tcp.c
++++ b/net/ipv4/tcp.c
+@@ -2246,7 +2246,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
+ 		/* Values greater than interface MTU won't take effect. However
+ 		 * at the point when this call is done we typically don't yet
+ 		 * know which interface is going to be used */
+-		if (val < 8 || val > MAX_TCP_WINDOW) {
++		if (val < 64 || val > MAX_TCP_WINDOW) {
+ 			err = -EINVAL;
+ 			break;
+ 		}
+-- 
+1.7.2.3
+

Modified: dists/sid/linux-2.6/debian/patches/series/28
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/28	Mon Nov 15 03:12:15 2010	(r16557)
+++ dists/sid/linux-2.6/debian/patches/series/28	Mon Nov 15 03:34:43 2010	(r16558)
@@ -38,3 +38,4 @@
 + bugfix/all/x25-Patch-to-fix-bug-15678-x25-accesses-fields-beyon.patch
 + bugfix/all/x25-memory-corruption-in-X.25-facilities-parsing.patch
 + bugfix/all/x25-Prevent-crashing-when-parsing-bad-X.25-facilities.patch
++ bugfix/all/tcp-Increase-TCP_MAXSEG-socket-option-minimum.patch



More information about the Kernel-svn-changes mailing list