]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
netfilter: x_tables: limit allocation requests for blob rule heads
authorFlorian Westphal <fw@strlen.de>
Tue, 27 Feb 2018 18:42:32 +0000 (19:42 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Apr 2018 09:00:38 +0000 (11:00 +0200)
commit 9d5c12a7c08f67999772065afd50fb222072114e upstream.

This is a very conservative limit (134217728 rules), but good
enough to not trigger frequent oom from syzkaller.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/netfilter/x_tables.c

index f75e4b6e2f9a997a3f9f6e437672216306b5abdf..a94c0e3cdcf0cfb436a5c05453385ac2cab75d29 100644 (file)
@@ -818,6 +818,9 @@ EXPORT_SYMBOL(xt_check_entry_offsets);
  */
 unsigned int *xt_alloc_entry_offsets(unsigned int size)
 {
+       if (size > XT_MAX_TABLE_SIZE / sizeof(unsigned int))
+               return NULL;
+
        return kvmalloc_array(size, sizeof(unsigned int), GFP_KERNEL | __GFP_ZERO);
 
 }