[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <lsq.1388282924.481234836@decadent.org.uk>
Date: Sun, 29 Dec 2013 03:08:44 +0100
From: Ben Hutchings <ben@...adent.org.uk>
To: linux-kernel@...r.kernel.org, stable@...r.kernel.org
CC: akpm@...ux-foundation.org, "Michael S. Tsirkin" <mst@...hat.com>,
"Daniel Borkmann" <dborkman@...hat.com>,
"David S. Miller" <davem@...emloft.net>,
"Eric Dumazet" <edumazet@...gle.com>,
"Jason Wang" <jasowang@...hat.com>,
"Petr Matousek" <pmatouse@...hat.com>
Subject: [PATCH 3.2 180/185] net: flow_dissector: fail on evil iph->ihl
3.2.54-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Jason Wang <jasowang@...hat.com>
commit 6f092343855a71e03b8d209815d8c45bf3a27fcd upstream.
We don't validate iph->ihl which may lead a dead loop if we meet a IPIP
skb whose iph->ihl is zero. Fix this by failing immediately when iph->ihl
is evil (less than 5).
This issue were introduced by commit ec5efe7946280d1e84603389a1030ccec0a767ae
(rps: support IPIP encapsulation).
Cc: Eric Dumazet <edumazet@...gle.com>
Cc: Petr Matousek <pmatouse@...hat.com>
Cc: Michael S. Tsirkin <mst@...hat.com>
Cc: Daniel Borkmann <dborkman@...hat.com>
Signed-off-by: Jason Wang <jasowang@...hat.com>
Acked-by: Eric Dumazet <edumazet@...gle.com>
Signed-off-by: David S. Miller <davem@...emloft.net>
[bwh: Backported to 3.2: the affected code is in __skb_get_rxhash()]
Signed-off-by: Ben Hutchings <ben@...adent.org.uk>
---
net/core/flow_dissector.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2609,6 +2609,8 @@ ip:
goto done;
ip = (const struct iphdr *) (skb->data + nhoff);
+ if (ip->ihl < 5)
+ goto done;
if (ip_is_fragment(ip))
ip_proto = 0;
else
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists