]> git.baikalelectronics.ru Git - kernel.git/commit
[NETFILTER]: Fix do_add_counters race, possible oops or info leak (CVE-2006-0039)
authorSolar Designer <solar@openwall.com>
Fri, 19 May 2006 09:16:52 +0000 (02:16 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 May 2006 09:16:52 +0000 (02:16 -0700)
commit4d872d9dbb66cbe3d0e6720c173027e5b87f39a8
tree5f0b19841fbe6e49dd17cee6da189dfeea6ff7bf
parent485ad9c15889edd23784108ddf098397e7dce173
[NETFILTER]: Fix do_add_counters race, possible oops or info leak (CVE-2006-0039)

Solar Designer found a race condition in do_add_counters(). The beginning
of paddc is supposed to be the same as tmp which was sanity-checked
above, but it might not be the same in reality. In case the integer
overflow and/or the race condition are triggered, paddc->num_counters
might not match the allocation size for paddc. If the check below
(t->private->number != paddc->num_counters) nevertheless passes (perhaps
this requires the race condition to be triggered), IPT_ENTRY_ITERATE()
would read kernel memory beyond the allocation size, potentially causing
an oops or leaking sensitive data (e.g., passwords from host system or
from another VPS) via counter increments. This requires CAP_NET_ADMIN.

Signed-off-by: Solar Designer <solar@openwall.com>
Signed-off-by: Kirill Korotaev <dev@openvz.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/netfilter/arp_tables.c
net/ipv6/netfilter/ip6_tables.c