]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
netfilter: x_tables: validate targets of jumps
authorFlorian Westphal <fw@strlen.de>
Fri, 1 Apr 2016 12:17:22 +0000 (14:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 Jun 2016 17:18:22 +0000 (10:18 -0700)
commit611d408a531fdbecf07e268ac87e37d71dd5cd8e
tree4380e451a5953edb0d587ee120e3076ba8b1375b
parentd6f7cd1b21b9e797e09269ee16655f9c0e4a3fa1
netfilter: x_tables: validate targets of jumps

commit 36472341017529e2b12573093cc0f68719300997 upstream.

When we see a jump also check that the offset gets us to beginning of
a rule (an ipt_entry).

The extra overhead is negible, even with absurd cases.

300k custom rules, 300k jumps to 'next' user chain:
[ plus one jump from INPUT to first userchain ]:

Before:
real    0m24.874s
user    0m7.532s
sys     0m16.076s

After:
real    0m27.464s
user    0m7.436s
sys     0m18.840s

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/ipv4/netfilter/arp_tables.c
net/ipv4/netfilter/ip_tables.c
net/ipv6/netfilter/ip6_tables.c