netfilter: xt_u32: validate user space input
authorWander Lairson Costa <wander@redhat.com>
Mon, 28 Aug 2023 13:21:07 +0000 (10:21 -0300)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 30 Aug 2023 15:34:01 +0000 (17:34 +0200)
commit69c5d284f67089b4750d28ff6ac6f52ec224b330
treed4d91ea8164ad38baed284615e8e720baacd5390
parente99476497687ef9e850748fe6d232264f30bc8f9
netfilter: xt_u32: validate user space input

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>
net/netfilter/xt_u32.c