netfilter: xt_u32: validate user space input
authorWander Lairson Costa <wander@redhat.com>
Mon, 28 Aug 2023 13:21:07 +0000 (10:21 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Sep 2023 07:42:59 +0000 (09:42 +0200)
commit1c164c1e9e93b0a72a03a7edb754e3857d4e4302
tree367b5e3021efc08fbbf620ea2dfbc8a8c708cab6
parentbcdb4a5c42b09f7cc00bbdafece7eae177b959e9
netfilter: xt_u32: validate user space input

commit 69c5d284f67089b4750d28ff6ac6f52ec224b330 upstream.

The xt_u32 module doesn't validate the fields in the xt_u32 structure.
An attacker may take advantage of this to trigger an OOB read by setting
the size fields with a value beyond the arrays boundaries.

Add a checkentry function to validate the structure.

This was originally reported by the ZDI project (ZDI-CAN-18408).

Fixes: 1b50b8a371e9 ("[NETFILTER]: Add u32 match")
Cc: stable@vger.kernel.org
Signed-off-by: Wander Lairson Costa <wander@redhat.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/netfilter/xt_u32.c