diff options
author | Florian Westphal <fw@strlen.de> | 2023-06-21 21:11:03 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2023-06-26 08:05:57 +0200 |
commit | a412dbf40ff37515acca4bba666f5386aa37246e (patch) | |
tree | d29ebda49810ab08757b1d5c33f2ea6001d04df1 /net/netfilter/nft_xfrm.c | |
parent | 079cd633219d7298d087cd115c17682264244c18 (diff) | |
download | linux-a412dbf40ff37515acca4bba666f5386aa37246e.tar.gz |
netfilter: nf_tables: limit allowed range via nla_policy
These NLA_U32 types get stored in u8 fields, reject invalid values
instead of silently casting to u8.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nft_xfrm.c')
-rw-r--r-- | net/netfilter/nft_xfrm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/netfilter/nft_xfrm.c b/net/netfilter/nft_xfrm.c index c88fd078a9ae5d..452f8587addadc 100644 --- a/net/netfilter/nft_xfrm.c +++ b/net/netfilter/nft_xfrm.c @@ -16,9 +16,9 @@ #include <net/xfrm.h> static const struct nla_policy nft_xfrm_policy[NFTA_XFRM_MAX + 1] = { - [NFTA_XFRM_KEY] = { .type = NLA_U32 }, + [NFTA_XFRM_KEY] = NLA_POLICY_MAX(NLA_BE32, 255), [NFTA_XFRM_DIR] = { .type = NLA_U8 }, - [NFTA_XFRM_SPNUM] = { .type = NLA_U32 }, + [NFTA_XFRM_SPNUM] = NLA_POLICY_MAX(NLA_BE32, 255), [NFTA_XFRM_DREG] = { .type = NLA_U32 }, }; |