summaryrefslogtreecommitdiffstats
path: root/include/net/ife.h
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2022-06-22 16:43:57 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2022-06-27 19:22:54 +0200
commite34b9ed96ce3b06c79bf884009b16961ca478f87 (patch)
tree24f0f95c0c661f65112d97d7d77c3ccf709f1408 /include/net/ife.h
parent05907f10e235680cc7fb196810e4ad3215d5e648 (diff)
downloadlinux-e34b9ed96ce3b06c79bf884009b16961ca478f87.tar.bz2
netfilter: nf_tables: avoid skb access on nf_stolen
When verdict is NF_STOLEN, the skb might have been freed. When tracing is enabled, this can result in a use-after-free: 1. access to skb->nf_trace 2. access to skb->mark 3. computation of trace id 4. dump of packet payload To avoid 1, keep a cached copy of skb->nf_trace in the trace state struct. Refresh this copy whenever verdict is != STOLEN. Avoid 2 by skipping skb->mark access if verdict is STOLEN. 3 is avoided by precomputing the trace id. Only dump the packet when verdict is not "STOLEN". Reported-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/net/ife.h')
0 files changed, 0 insertions, 0 deletions