netfilter: nf_tables: validate NFPROTO_* family
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 23 Jan 2024 15:38:25 +0000 (16:38 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 24 Jan 2024 19:02:40 +0000 (20:02 +0100)
commitd0009effa8862c20a13af4cb7475d9771b905693
tree041d10cbc630e9010fcaa7d0b2ab435e94a95144
parentf342de4e2f33e0e39165d8639387aa6c19dff660
netfilter: nf_tables: validate NFPROTO_* family

Several expressions explicitly refer to NF_INET_* hook definitions
from expr->ops->validate, however, family is not validated.

Bail out with EOPNOTSUPP in case they are used from unsupported
families.

Fixes: 0ca743a55991 ("netfilter: nf_tables: add compatibility layer for x_tables")
Fixes: a3c90f7a2323 ("netfilter: nf_tables: flow offload expression")
Fixes: 2fa841938c64 ("netfilter: nf_tables: introduce routing expression")
Fixes: 554ced0a6e29 ("netfilter: nf_tables: add support for native socket matching")
Fixes: ad49d86e07a4 ("netfilter: nf_tables: Add synproxy support")
Fixes: 4ed8eb6570a4 ("netfilter: nf_tables: Add native tproxy support")
Fixes: 6c47260250fc ("netfilter: nf_tables: add xfrm expression")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nft_compat.c
net/netfilter/nft_flow_offload.c
net/netfilter/nft_nat.c
net/netfilter/nft_rt.c
net/netfilter/nft_socket.c
net/netfilter/nft_synproxy.c
net/netfilter/nft_tproxy.c
net/netfilter/nft_xfrm.c