netfilter: x_tables: avoid stack-out-of-bounds read in xt_copy_counters_from_user
authorEric Dumazet <[email protected]>
Thu, 5 Oct 2017 09:50:07 +0000 (02:50 -0700)
committerPablo Neira Ayuso <[email protected]>
Fri, 6 Oct 2017 13:04:05 +0000 (15:04 +0200)
commite466af75c074e76107ae1cd5a2823e9c61894ffb
treed89583ebd5b7d23418dbc0d44472f60eecd66ccd
parent5f9bfe0ef622a7bb9707c22ceb4b6451e1e2cb7b
netfilter: x_tables: avoid stack-out-of-bounds read in xt_copy_counters_from_user

syzkaller reports an out of bound read in strlcpy(), triggered
by xt_copy_counters_from_user()

Fix this by using memcpy(), then forcing a zero byte at the last position
of the destination, as Florian did for the non COMPAT code.

Fixes: d7591f0c41ce ("netfilter: x_tables: introduce and use xt_copy_counters_from_user")
Signed-off-by: Eric Dumazet <[email protected]>
Cc: Willem de Bruijn <[email protected]>
Acked-by: Florian Westphal <[email protected]>
Signed-off-by: Pablo Neira Ayuso <[email protected]>
net/netfilter/x_tables.c