Liping Zhang
1c759b361b
netfilter: nf_tables: fix oops when inserting an element into a verdict map
commit 58c78e104d upstream.
Dalegaard says:
The following ruleset, when loaded with 'nft -f bad.txt'
----snip----
flush ruleset
table ip inlinenat {
map sourcemap {
type ipv4_addr : verdict;
}
chain postrouting {
ip saddr vmap @sourcemap accept
}
}
add chain inlinenat test
add element inlinenat sourcemap { 100.123.10.2 : jump test }
----snip----
results in a kernel oops:
BUG: unable to handle kernel paging request at 0000000000001344
IP: [<ffffffffa07bf704>] nf_tables_check_loops+0x114/0x1f0 [nf_tables]
[...]
Call Trace:
[<ffffffffa07c2aae>] ? nft_data_init+0x13e/0x1a0 [nf_tables]
[<ffffffffa07c1950>] nft_validate_register_store+0x60/0xb0 [nf_tables]
[<ffffffffa07c74b5>] nft_add_set_elem+0x545/0x5e0 [nf_tables]
[<ffffffffa07bfdd0>] ? nft_table_lookup+0x30/0x60 [nf_tables]
[<ffffffff8132c630>] ? nla_strcmp+0x40/0x50
[<ffffffffa07c766e>] nf_tables_newsetelem+0x11e/0x210 [nf_tables]
[<ffffffff8132c400>] ? nla_validate+0x60/0x80
[<ffffffffa030d9b4>] nfnetlink_rcv+0x354/0x5a7 [nfnetlink]
Because we forget to fill the net pointer in bind_ctx, so dereferencing
it may cause kernel crash.
Reported-by: Dalegaard <dalegaard@gmail.com>
Signed-off-by: Liping Zhang <zlpnobody@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-01 09:46:40 +01:00
..
2018-11-27 16:08:00 +01:00
2018-09-15 09:40:38 +02:00
2015-10-24 06:54:12 -07:00
2015-11-10 23:46:57 +01:00
2015-10-04 21:45:44 +02:00
2015-03-18 10:51:35 +01:00
2015-02-22 15:59:54 -05:00
2011-01-18 18:12:24 +01:00
2018-01-31 12:06:10 +01:00
2017-10-08 10:14:19 +02:00
2018-01-31 12:06:10 +01:00
2017-08-24 17:02:34 -07:00
2014-10-14 02:18:24 +02:00
2011-04-04 15:21:02 +02:00
2015-05-25 13:25:33 -04:00
2008-01-31 19:28:07 -08:00
2014-10-30 17:35:30 +01:00
2013-04-18 20:27:55 +02:00
2014-11-05 14:10:33 -05:00
2015-08-27 11:40:43 -07:00
2011-01-18 18:12:24 +01:00
2018-04-13 19:50:10 +02:00
2015-08-11 12:29:01 +02:00
2018-08-24 13:27:01 +02:00
2015-09-18 22:00:04 +02:00
2015-09-18 22:00:04 +02:00
2015-09-18 22:00:04 +02:00
2015-09-18 22:00:04 +02:00
2015-09-18 22:00:04 +02:00
2015-09-18 22:00:04 +02:00
2014-01-03 23:41:37 +01:00
2013-02-19 02:48:05 +01:00
2015-08-17 21:33:06 -07:00
2018-01-31 12:06:10 +01:00
2013-01-18 00:28:18 +01:00
2015-08-18 01:22:50 +02:00
2013-04-18 20:27:55 +02:00
2013-01-23 12:56:02 +01:00
2013-12-20 14:58:29 +01:00
2015-07-23 16:17:58 +02:00
2015-04-08 16:49:08 +02:00
2018-07-11 16:03:51 +02:00
2013-04-18 20:27:55 +02:00
2017-10-08 10:14:19 +02:00
2013-02-19 02:48:05 +01:00
2013-08-28 00:26:48 +02:00
2014-01-06 14:17:17 +01:00
2018-03-18 11:17:51 +01:00
2015-08-17 21:33:06 -07:00
2014-06-30 11:38:03 +02:00
2015-08-17 21:33:06 -07:00
2015-08-17 21:33:06 -07:00
2015-08-17 21:33:06 -07:00
2012-08-30 03:00:14 +02:00
2015-10-27 06:54:56 +01:00
2014-10-14 02:18:24 +02:00
2013-02-19 02:48:05 +01:00
2018-02-16 20:09:40 +01:00
2014-08-08 16:47:23 +02:00
2015-09-05 21:57:42 -07:00
2018-12-01 09:46:40 +01:00
2018-07-11 16:03:47 +02:00
2014-01-09 23:25:48 +01:00
2015-12-18 14:45:45 +01:00
2015-08-07 11:50:56 +02:00
2018-01-31 12:06:11 +01:00
2017-10-08 10:14:19 +02:00
2015-11-10 23:46:36 +01:00
2018-07-17 11:31:46 +02:00
2017-04-30 05:49:28 +02:00
2015-04-13 17:17:30 +02:00
2015-04-13 17:17:29 +02:00
2015-04-13 17:17:30 +02:00
2015-09-14 18:10:57 +02:00
2015-11-10 23:47:32 +01:00
2015-12-18 14:45:45 +01:00
2016-11-26 09:54:54 +01:00
2015-04-13 17:17:29 +02:00
2015-04-13 17:17:31 +02:00
2015-04-13 17:17:30 +02:00
2015-08-07 11:50:50 +02:00
2015-09-18 21:58:49 +02:00
2015-04-13 20:12:32 +02:00
2015-01-19 14:52:39 +01:00
2017-11-15 17:13:10 +01:00
2015-04-13 17:17:29 +02:00
2015-08-19 08:39:53 +02:00
2017-11-30 08:37:27 +00:00
2015-04-13 17:17:31 +02:00
2015-04-13 17:17:28 +02:00
2015-09-29 20:21:31 +02:00
2015-04-27 13:20:34 -04:00
2018-09-19 22:48:59 +02:00
2015-09-18 21:58:25 +02:00
2014-03-13 14:13:19 +01:00
2014-08-02 15:03:58 -07:00
2015-04-01 11:26:42 +02:00
2010-07-15 17:20:46 +02:00
2010-11-15 13:57:56 +01:00
2014-08-23 12:21:21 -07:00
2010-05-11 18:33:37 +02:00
2014-09-10 12:40:10 -07:00
2015-08-27 11:40:43 -07:00
2015-09-18 22:00:04 +02:00
2013-12-06 12:37:57 -05:00
2010-05-11 18:31:17 +02:00
2013-04-18 20:27:55 +02:00
2011-01-18 06:33:54 +01:00
2018-03-24 10:58:43 +01:00
2010-05-11 18:35:27 +02:00
2011-02-03 00:05:43 +01:00
2010-05-11 18:33:37 +02:00
2014-11-13 12:14:42 +01:00
2011-12-27 20:45:25 +01:00
2010-05-11 18:35:27 +02:00
2018-04-08 11:51:59 +02:00
2010-05-11 18:33:37 +02:00
2011-07-01 16:11:15 -07:00
2011-07-01 16:11:15 -07:00
2014-08-23 12:21:21 -07:00
2018-11-27 16:08:01 +01:00
2014-02-19 11:41:25 +01:00
2011-02-04 14:28:58 -08:00
2015-09-24 09:34:41 +09:00
2014-01-09 21:36:39 +01:00
2018-03-18 11:17:51 +01:00
2010-05-11 18:33:37 +02:00
2013-04-18 20:27:55 +02:00
2015-09-18 21:58:25 +02:00
2012-05-09 20:49:18 -04:00
2015-05-14 13:00:27 +02:00
2010-05-11 18:35:27 +02:00
2012-10-15 13:39:12 +02:00
2012-09-21 12:11:08 +02:00
2015-08-07 11:50:56 +02:00
2015-09-18 21:58:25 +02:00
2013-12-07 23:20:45 +01:00
2018-01-31 12:06:11 +01:00
2015-11-08 20:56:39 -05:00
2015-04-08 16:49:09 +02:00
2010-05-11 18:33:37 +02:00
2010-05-11 18:33:37 +02:00
2011-10-31 19:30:28 -04:00
2013-06-11 02:51:03 -07:00
2018-02-25 11:03:37 +01:00
2010-05-11 18:33:37 +02:00
2018-04-08 11:51:59 +02:00
2014-11-27 13:08:42 +01:00
2014-06-07 11:44:39 -07:00
2010-06-09 14:47:40 +02:00
2010-10-21 10:12:48 +11:00
2015-06-14 10:40:18 +02:00
2015-09-18 21:58:25 +02:00
2010-06-08 16:09:52 +02:00
2014-01-14 15:15:25 -08:00
2015-02-22 15:59:54 -05:00
2010-05-11 18:35:27 +02:00
2017-07-05 14:37:15 +02:00
2015-08-17 21:33:06 -07:00
2010-05-11 18:35:27 +02:00
2015-11-04 20:47:50 -05:00
2012-09-24 14:29:01 +02:00
2015-09-18 21:58:25 +02:00
2010-05-11 18:31:17 +02:00
2010-05-11 18:33:37 +02:00