Florian Westphal
e34b9ed96c
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 >
2022-06-27 19:22:54 +02:00
..
2022-06-05 16:28:41 -07:00
2022-06-27 19:22:54 +02:00
2022-05-16 10:10:37 +01:00
2022-04-12 15:00:25 +02:00
2022-05-12 16:15:30 -07:00
2022-04-08 13:45:43 +01:00
2022-02-18 21:20:06 -08:00
2022-03-11 23:14:19 -08:00
2022-05-25 21:36:16 -07:00
2022-02-21 11:44:30 +00:00
2022-06-02 10:37:57 +02:00
2022-02-15 14:35:18 +00:00
2022-02-21 12:13:45 +00:00
2022-06-01 11:18:55 +02:00
2022-05-22 21:51:54 +01:00
2022-05-22 21:51:54 +01:00
2022-03-11 10:57:22 +00:00
2022-05-05 15:47:23 -07:00
2022-05-12 16:38:55 -07:00
2022-02-09 11:41:47 +00:00
2022-04-13 10:16:11 +02:00
2022-04-20 11:09:13 +01:00
2022-06-06 19:19:15 +02:00
2022-03-15 20:20:02 -07:00
2022-02-18 11:00:25 +00:00
2022-03-11 08:28:27 -08:00
2022-02-04 16:25:21 +01:00
2022-04-06 22:09:39 -07:00
2022-05-16 10:31:06 +01:00
2022-06-16 11:07:59 -07:00
2022-02-07 20:12:45 -08:00
2022-03-03 14:38:48 +00:00
2022-06-16 11:07:59 -07:00
2022-06-23 10:08:30 +02:00
2022-05-13 12:24:12 +01:00
2022-02-17 07:00:39 -06:00
2022-02-17 11:44:20 -08:00
2022-04-25 11:40:45 +01:00
2022-04-11 17:37:50 -07:00
2022-04-25 11:40:45 +01:00
2022-05-19 11:23:59 -07:00
2022-02-04 14:15:11 -08:00
2022-06-08 10:56:43 -07:00
2022-05-16 10:05:02 +02:00
2022-04-25 20:51:12 +02:00
2022-04-01 12:04:15 +01:00
2022-05-23 16:07:14 -07:00
2022-03-03 11:55:12 -08:00
2022-02-02 20:30:18 -08:00
2022-05-11 12:43:10 +01:00
2022-02-10 15:30:26 +00:00
2022-04-15 10:43:47 +01:00
2022-04-12 15:00:25 +02:00
2022-04-08 13:45:43 +01:00
2022-02-02 14:45:18 +00:00
2022-04-22 13:06:03 +01:00
2022-04-13 12:46:26 +01:00
2022-05-31 20:39:28 -07:00
2022-05-04 19:22:20 -07:00
2022-06-16 11:07:59 -07:00
2022-04-08 11:49:08 +01:00
2022-03-17 16:49:58 -07:00
2022-04-28 13:02:01 -07:00
2022-05-19 12:14:11 +02:00
2022-04-12 15:00:25 +02:00
2022-03-01 08:38:02 +00:00
2022-03-17 20:33:52 +01:00
2022-05-19 11:23:59 -07:00
2022-04-26 16:19:54 +02:00