Fernando Fernandez Mancera
f359b809d5
netfilter: nft_objref: validate objref and objrefmap expressions
...
Referencing a synproxy stateful object from OUTPUT hook causes kernel
crash due to infinite recursive calls:
BUG: TASK stack guard page was hit at 000000008bda5b8c (stack is 000000003ab1c4a5..00000000494d8b12)
[...]
Call Trace:
__find_rr_leaf+0x99/0x230
fib6_table_lookup+0x13b/0x2d0
ip6_pol_route+0xa4/0x400
fib6_rule_lookup+0x156/0x240
ip6_route_output_flags+0xc6/0x150
__nf_ip6_route+0x23/0x50
synproxy_send_tcp_ipv6+0x106/0x200
synproxy_send_client_synack_ipv6+0x1aa/0x1f0
nft_synproxy_do_eval+0x263/0x310
nft_do_chain+0x5a8/0x5f0 [nf_tables
nft_do_chain_inet+0x98/0x110
nf_hook_slow+0x43/0xc0
__ip6_local_out+0xf0/0x170
ip6_local_out+0x17/0x70
synproxy_send_tcp_ipv6+0x1a2/0x200
synproxy_send_client_synack_ipv6+0x1aa/0x1f0
[...]
Implement objref and objrefmap expression validate functions.
Currently, only NFT_OBJECT_SYNPROXY object type requires validation.
This will also handle a jump to a chain using a synproxy object from the
OUTPUT hook.
Now when trying to reference a synproxy object in the OUTPUT hook, nft
will produce the following error:
synproxy_crash.nft: Error: Could not process rule: Operation not supported
synproxy name mysynproxy
^^^^^^^^^^^^^^^^^^^^^^^^
Fixes: ee394f96ad ("netfilter: nft_synproxy: add synproxy stateful object support")
Reported-by: Georg Pfuetzenreuter <georg.pfuetzenreuter@suse.com >
Closes: https://bugzilla.suse.com/1250237
Signed-off-by: Fernando Fernandez Mancera <fmancera@suse.de >
Reviewed-by: Pablo Neira Ayuso <pablo@netfilter.org >
Signed-off-by: Florian Westphal <fw@strlen.de >
2025-10-08 13:17:25 +02:00
..
2025-09-11 15:40:55 +02:00
2025-09-24 11:50:28 +02:00
2025-05-23 13:57:12 +02:00
2025-07-25 18:38:50 +02:00
2025-07-03 13:51:39 +02:00
2025-08-01 09:22:44 -07:00
2025-03-12 15:28:33 +01:00
2022-02-04 06:30:28 +01:00
2025-01-19 16:41:55 +01:00
2024-05-22 15:00:56 -07:00
2025-01-19 16:41:55 +01:00
2025-07-25 18:38:41 +02:00
2025-09-22 17:40:30 -07:00
2025-06-08 09:07:37 +02:00
2023-09-13 21:57:50 +02:00
2022-09-20 23:50:03 +02:00
2024-03-07 03:10:35 +01:00
2025-01-19 16:41:55 +01:00
2025-08-27 11:53:38 +02:00
2022-09-07 15:55:23 +02:00
2023-10-24 13:16:30 +02:00
2022-01-11 10:41:44 +01:00
2025-08-20 13:52:36 +02:00
2023-03-08 14:25:41 +01:00
2022-07-11 16:25:15 +02:00
2023-07-05 14:42:15 +02:00
2021-06-18 14:47:43 +02:00
2024-05-06 11:13:56 +02:00
2025-01-12 20:21:01 -08:00
2024-10-02 17:23:23 -04:00
2023-02-01 12:18:51 +01:00
2025-07-03 13:51:39 +02:00
2022-08-11 16:50:25 +02:00
2022-02-04 06:30:28 +01:00
2025-01-19 16:41:55 +01:00
2025-09-24 11:50:28 +02:00
2022-07-11 16:25:15 +02:00
2022-02-04 06:30:28 +01:00
2025-05-23 13:57:12 +02:00
2024-07-01 17:03:01 +02:00
2025-04-17 11:14:22 +02:00
2024-09-12 15:41:03 +02:00
2025-02-12 10:35:20 +01:00
2025-03-06 12:59:43 -08:00
2022-07-11 16:25:14 +02:00
2024-07-01 17:01:53 +02:00
2024-07-24 20:59:29 +02:00
2024-06-19 18:41:59 +02:00
2025-03-17 13:49:46 +00:00
2025-07-25 18:35:41 +02:00
2022-09-07 16:46:04 +02:00
2024-01-31 20:40:56 -08:00
2025-07-03 13:51:39 +02:00
2022-09-07 16:46:04 +02:00
2022-11-18 02:15:15 +01:00
2022-09-07 16:46:04 +02:00
2022-05-13 18:56:27 +02:00
2024-01-03 11:17:17 +01:00
2025-07-03 13:51:39 +02:00
2023-11-08 16:40:30 +01:00
2022-09-07 16:46:04 +02:00
2024-02-21 12:03:22 +01:00
2024-10-02 17:23:23 -04:00
2025-09-11 17:40:13 -07:00
2025-03-23 10:53:47 +01:00
2025-05-23 13:57:13 +02:00
2025-07-14 15:22:35 +02:00
2021-05-29 01:04:53 +02:00
2022-07-11 16:25:15 +02:00
2025-07-03 13:51:39 +02:00
2025-07-25 18:40:01 +02:00
2025-06-08 09:07:37 +02:00
2023-11-08 13:52:32 +01:00
2025-03-23 10:20:33 +01:00
2025-09-24 11:50:28 +02:00
2024-11-15 12:07:04 +01:00
2024-10-02 17:23:23 -04:00
2025-07-14 15:22:47 +02:00
2023-11-08 13:52:32 +01:00
2021-05-29 01:04:54 +02:00
2024-08-20 12:37:24 +02:00
2025-03-06 13:35:54 +01:00
2024-05-10 11:13:45 +02:00
2024-09-03 10:47:16 +02:00
2023-05-03 13:49:08 +02:00
2025-03-03 13:46:49 +01:00
2024-08-20 12:37:24 +02:00
2025-07-25 18:40:23 +02:00
2025-07-03 13:51:39 +02:00
2022-03-20 00:29:47 +01:00
2022-03-20 00:29:47 +01:00
2024-09-03 10:47:17 +02:00
2025-08-26 17:34:31 -07:00
2024-09-03 10:47:17 +02:00
2024-08-20 12:37:24 +02:00
2024-09-03 10:47:17 +02:00
2025-05-23 13:57:12 +02:00
2024-05-10 11:13:45 +02:00
2024-05-10 11:13:45 +02:00
2024-09-26 13:03:02 +02:00
2025-09-10 20:30:37 +02:00
2024-09-03 10:47:17 +02:00
2024-09-26 13:03:02 +02:00
2024-09-03 10:47:17 +02:00
2024-09-26 13:03:02 +02:00
2025-10-08 13:17:25 +02:00
2024-09-03 10:47:17 +02:00
2025-09-02 15:28:18 +02:00
2024-09-03 10:47:17 +02:00
2025-05-05 13:15:09 +02:00
2024-08-20 12:37:24 +02:00
2024-09-03 10:47:17 +02:00
2024-09-03 10:47:17 +02:00
2024-09-03 10:47:17 +02:00
2024-09-03 10:47:17 +02:00
2024-09-03 10:47:17 +02:00
2025-09-10 20:28:24 +02:00
2025-09-02 15:28:17 +02:00
2025-09-24 11:50:28 +02:00
2025-08-20 13:52:37 +02:00
2025-09-24 11:50:28 +02:00
2025-08-20 13:52:37 +02:00
2025-09-11 17:40:13 -07:00
2025-08-07 13:19:26 +02:00
2024-09-03 10:47:17 +02:00
2024-09-03 10:47:17 +02:00
2025-05-23 13:57:12 +02:00
2024-12-05 10:01:28 +01:00
2024-02-21 12:03:22 +01:00
2025-07-25 18:38:50 +02:00
2024-10-09 23:20:46 +02:00
2021-06-01 23:53:51 +02:00
2021-08-17 00:45:07 +02:00
2025-04-24 16:04:02 +02:00
2024-10-09 23:20:46 +02:00
2024-10-09 23:20:46 +02:00
2024-10-09 23:20:46 +02:00
2024-10-09 23:20:46 +02:00
2024-10-09 23:20:46 +02:00
2024-10-09 23:20:46 +02:00
2024-10-09 23:20:46 +02:00
2024-10-09 23:20:46 +02:00
2022-07-11 16:40:45 +02:00
2025-03-12 16:37:48 +01:00
2025-06-08 09:07:37 +02:00
2025-06-08 09:07:37 +02:00
2023-02-22 21:25:23 -08:00
2021-05-29 01:04:52 +02:00
2021-09-21 03:46:56 +02:00
2025-05-22 17:16:02 +02:00
2025-07-25 18:40:43 +02:00
2024-10-21 11:31:26 +02:00
2023-06-20 22:43:42 +02:00
2023-12-06 17:52:15 +01:00
2024-01-17 12:02:48 +01:00
2024-10-09 23:20:46 +02:00
2024-06-28 17:57:50 +02:00
2023-03-22 21:48:59 +01:00
2025-03-23 10:53:47 +01:00
2023-08-30 17:34:01 +02:00
2024-10-09 23:20:46 +02:00
2023-07-29 18:13:41 +01:00
2022-10-11 17:42:58 -06:00
2022-07-11 16:40:45 +02:00
2025-05-22 17:16:02 +02:00
2023-03-22 21:48:59 +01:00
2022-07-21 00:56:00 +02:00
2024-10-21 11:31:26 +02:00
2023-08-30 17:34:01 +02:00