A verdict of NF_STOLEN after NF_QUEUE will cause an incorrect return value
and a potential kernel panic via double free of skb's
This was broken by commit 7034b566a4e7 ("netfilter: fix nf_queue handling")
and subsequently fixed in v4.10 by commit c63cbc460419 ("netfilter:
use switch() to handle verdict cases from nf_hook_slow()"). However that
commit cannot be cleanly cherry-picked to v4.9
Signed-off-by: Debabrata Banerjee <redacted>
---
This fix is only needed for v4.9 stable since v4.10+ does not have the
issue
---
net/netfilter/core.c | 5 +++++
1 file changed, 5 insertions(+)
@@ -364,6 +364,11 @@ int nf_hook_slow(struct sk_buff *skb, struct nf_hook_state *state)ret=nf_queue(skb,state,&entry,verdict);if(ret==1&&entry)gotonext_hook;+}else{+/* Implicit handling for NF_STOLEN, as well as any other+*nonconventionalverdicts.+*/+ret=0;}returnret;}
From: Pablo Neira Ayuso <pablo@netfilter.org> Date: 2017-12-14 12:30:08
Hi Greg,
I'd appreciate if you can take this patch into 4.9-stable. There is no
similar patch in tree, so this is not a backport.
On Wed, Dec 13, 2017 at 03:33:37PM -0500, Debabrata Banerjee wrote:
A verdict of NF_STOLEN after NF_QUEUE will cause an incorrect return value
and a potential kernel panic via double free of skb's
This was broken by commit 7034b566a4e7 ("netfilter: fix nf_queue handling")
and subsequently fixed in v4.10 by commit c63cbc460419 ("netfilter:
use switch() to handle verdict cases from nf_hook_slow()"). However that
commit cannot be cleanly cherry-picked to v4.9
Signed-off-by: Debabrata Banerjee <redacted>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
Thanks a lot!
quoted hunk
---
This fix is only needed for v4.9 stable since v4.10+ does not have the
issue
---
net/netfilter/core.c | 5 +++++
1 file changed, 5 insertions(+)
@@ -364,6 +364,11 @@ int nf_hook_slow(struct sk_buff *skb, struct nf_hook_state *state)ret=nf_queue(skb,state,&entry,verdict);if(ret==1&&entry)gotonext_hook;+}else{+/* Implicit handling for NF_STOLEN, as well as any other+*nonconventionalverdicts.+*/+ret=0;}returnret;}
On Thu, Dec 14, 2017 at 01:30:08PM +0100, Pablo Neira Ayuso wrote:
Hi Greg,
I'd appreciate if you can take this patch into 4.9-stable. There is no
similar patch in tree, so this is not a backport.
On Wed, Dec 13, 2017 at 03:33:37PM -0500, Debabrata Banerjee wrote:
quoted
A verdict of NF_STOLEN after NF_QUEUE will cause an incorrect return value
and a potential kernel panic via double free of skb's
This was broken by commit 7034b566a4e7 ("netfilter: fix nf_queue handling")
and subsequently fixed in v4.10 by commit c63cbc460419 ("netfilter:
use switch() to handle verdict cases from nf_hook_slow()"). However that
commit cannot be cleanly cherry-picked to v4.9
Signed-off-by: Debabrata Banerjee <redacted>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
Thanks a lot!