Florian Westphal
fd1de35901
netfilter: nfnetlink_queue: fix OOB when mac header was cleared
...
[ Upstream commit 5648b5e116 ]
On 64bit platforms the MAC header is set to 0xffff on allocation and
also when a helper like skb_unset_mac_header() is called.
dev_parse_header may call skb_mac_header() which assumes valid mac offset:
BUG: KASAN: use-after-free in eth_header_parse+0x75/0x90
Read of size 6 at addr ffff8881075a5c05 by task nf-queue/1364
Call Trace:
memcpy+0x20/0x60
eth_header_parse+0x75/0x90
__nfqnl_enqueue_packet+0x1a61/0x3380
__nf_queue+0x597/0x1300
nf_queue+0xf/0x40
nf_hook_slow+0xed/0x190
nf_hook+0x184/0x440
ip_output+0x1c0/0x2a0
nf_reinject+0x26f/0x700
nfqnl_recv_verdict+0xa16/0x18b0
nfnetlink_rcv_msg+0x506/0xe70
The existing code only works if the skb has a mac header.
Fixes: 2c38de4c1f ("netfilter: fix looped (broad|multi)cast's MAC handling")
Signed-off-by: Florian Westphal <fw@strlen.de >
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2021-11-17 09:48:45 +01:00
..
2021-10-06 15:42:39 +02:00
2021-10-27 09:54:25 +02:00
2019-07-04 02:29:49 +02:00
2021-10-27 09:54:28 +02:00
2019-09-13 11:39:38 +02:00
2019-05-21 10:50:45 +02:00
2019-06-19 17:09:55 +02:00
2019-07-16 13:16:59 +02:00
2019-07-16 13:16:59 +02:00
2021-09-03 10:08:12 +02:00
2019-09-13 12:33:06 +02:00
2019-09-13 12:33:06 +02:00
2019-05-30 11:26:32 -07:00
2019-09-02 11:20:17 -07:00
2019-07-16 13:17:00 +02:00
2019-07-16 13:16:59 +02:00
2019-06-19 17:09:52 +02:00
2019-09-13 12:33:06 +02:00
2019-07-16 13:16:59 +02:00
2019-08-27 18:07:03 +02:00
2019-05-30 11:26:32 -07:00
2021-07-25 14:35:14 +02:00
2020-06-03 08:21:39 +02:00
2020-01-14 20:08:39 +01:00
2019-06-19 17:09:55 +02:00
2021-04-10 13:34:31 +02:00
2019-07-16 13:17:00 +02:00
2019-09-13 12:33:06 +02:00
2020-09-17 13:47:45 +02:00
2020-10-29 09:57:57 +01:00
2021-11-17 09:48:33 +01:00
2021-06-10 13:37:02 +02:00
2019-07-16 13:16:59 +02:00
2019-05-31 18:02:45 +02:00
2019-07-16 13:16:59 +02:00
2019-05-30 11:26:32 -07:00
2021-05-19 10:08:33 +02:00
2019-07-16 13:16:59 +02:00
2019-09-13 12:33:06 +02:00
2019-05-24 17:37:51 +02:00
2020-10-29 09:57:57 +01:00
2021-02-17 10:35:17 +01:00
2019-05-21 10:50:45 +02:00
2020-04-01 11:02:09 +02:00
2020-10-29 09:57:45 +01:00
2019-06-19 17:09:55 +02:00
2019-07-04 02:29:48 +02:00
2019-07-16 13:16:59 +02:00
2021-01-19 18:26:19 +01:00
2019-07-16 13:16:59 +02:00
2019-06-22 08:59:24 -04:00
2019-07-16 13:16:59 +02:00
2021-10-17 10:42:34 +02:00
2021-03-17 17:03:32 +01:00
2019-06-22 08:59:24 -04:00
2019-07-16 13:16:59 +02:00
2019-07-16 13:16:59 +02:00
2020-01-09 10:20:03 +01:00
2021-06-23 14:41:25 +02:00
2021-02-17 10:35:17 +01:00
2019-07-05 21:34:47 +02:00
2020-12-11 13:23:33 +01:00
2019-04-30 13:35:26 +02:00
2019-06-19 17:09:55 +02:00
2019-05-24 17:37:51 +02:00
2021-06-10 13:37:05 +02:00
2019-05-24 17:37:51 +02:00
2020-09-09 19:12:27 +02:00
2021-05-19 10:08:28 +02:00
2021-11-17 09:48:45 +01:00
2020-11-18 19:20:17 +01:00
2020-01-12 12:21:18 +01:00
2019-08-26 11:01:00 +02:00
2019-07-19 18:08:14 +02:00
2020-03-18 07:17:58 +01:00
2020-11-18 19:20:17 +01:00
2020-01-12 12:21:18 +01:00
2021-01-19 18:26:19 +01:00
2019-10-01 18:42:15 +02:00
2019-06-19 17:09:55 +02:00
2021-06-10 13:37:05 +02:00
2019-09-10 22:44:29 +02:00
2021-11-17 09:48:36 +01:00
2021-08-26 08:36:22 -04:00
2019-06-19 17:09:55 +02:00
2019-09-03 22:53:56 +02:00
2019-06-19 17:09:55 +02:00
2020-01-17 19:48:19 +01:00
2020-10-29 09:57:57 +01:00
2019-07-16 13:17:03 +02:00
2019-08-13 12:10:01 +02:00
2021-04-21 12:56:17 +02:00
2019-06-19 17:09:55 +02:00
2019-09-20 10:20:02 +02:00
2019-06-21 22:23:35 -07:00
2020-01-17 19:48:33 +01:00
2021-08-04 12:27:38 +02:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:15 +02:00
2021-07-14 16:53:30 +02:00
2020-12-11 13:23:33 +01:00
2019-06-19 17:09:55 +02:00
2019-09-03 19:05:00 +02:00
2020-01-12 12:21:18 +01:00
2019-07-16 13:17:00 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-08-13 12:15:44 +02:00
2021-05-19 10:08:28 +02:00
2020-05-20 08:20:25 +02:00
2019-09-02 23:20:59 +02:00
2019-09-10 22:35:37 +02:00
2021-07-14 16:53:30 +02:00
2020-03-18 07:17:57 +01:00
2019-06-19 17:09:55 +02:00
2020-11-18 19:20:17 +01:00
2021-04-16 11:46:38 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:45 +02:00
2019-06-19 17:09:55 +02:00
2019-09-13 12:33:06 +02:00
2019-05-21 11:28:45 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-22 08:59:24 -04:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2020-03-21 08:11:46 +01:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-22 08:59:24 -04:00
2019-06-19 17:09:55 +02:00
2019-08-13 12:08:48 +02:00
2019-05-30 11:26:32 -07:00
2019-06-25 01:32:59 +02:00
2019-05-21 10:50:45 +02:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:38 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-08-19 09:34:21 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 11:28:45 +02:00
2019-06-25 01:32:59 +02:00
2019-09-13 12:32:48 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:45 +02:00
2019-06-19 17:09:55 +02:00
2021-01-12 20:16:24 +01:00
2019-06-19 17:09:55 +02:00
2021-02-17 10:35:17 +01:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:45 +02:00
2021-05-19 10:08:27 +02:00
2019-08-13 12:14:26 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-22 08:59:24 -04:00
2019-06-22 08:59:24 -04:00
2019-05-21 10:50:45 +02:00
2019-05-21 11:28:40 +02:00
2019-04-22 10:34:30 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00