From: Pablo Neira Ayuso Date: Mon, 2 Sep 2024 23:06:58 +0000 (+0200) Subject: netfilter: nf_tables: reject expiration higher than timeout X-Git-Tag: v5.10.227~451 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0723ddb2d16105761b8b64250e840b2729aad88a;p=thirdparty%2Fkernel%2Fstable.git netfilter: nf_tables: reject expiration higher than timeout [ Upstream commit c0f38a8c60174368aed1d0f9965d733195f15033 ] Report ERANGE to userspace if user specifies an expiration larger than the timeout. Fixes: 8e1102d5a159 ("netfilter: nf_tables: support timeouts larger than 23 days") Signed-off-by: Pablo Neira Ayuso Signed-off-by: Sasha Levin --- diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index a788f3e8fe2bb..9e2695bedd2ce 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -5635,6 +5635,9 @@ static int nft_add_set_elem(struct nft_ctx *ctx, struct nft_set *set, &expiration); if (err) return err; + + if (expiration > timeout) + return -ERANGE; } if (nla[NFTA_SET_ELEM_EXPR] != NULL) {