Dmitry Mishin 590bdf7fd2 [NETFILTER]: Missed and reordered checks in {arp,ip,ip6}_tables
There is a number of issues in parsing user-provided table in
translate_table(). Malicious user with CAP_NET_ADMIN may crash system by
passing special-crafted table to the *_tables.

The first issue is that mark_source_chains() function is called before entry
content checks. In case of standard target, mark_source_chains() function
uses t->verdict field in order to determine new position. But the check, that
this field leads no further, than the table end, is in check_entry(), which
is called later, than mark_source_chains().

The second issue, that there is no check that target_offset points inside
entry. If so, *_ITERATE_MATCH macro will follow further, than the entry
ends. As a result, we'll have oops or memory disclosure.

And the third issue, that there is no check that the target is completely
inside entry. Results are the same, as in previous issue.

Signed-off-by: Dmitry Mishin <dim@openvz.org>
Acked-by: Kirill Korotaev <dev@openvz.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-10-30 15:24:44 -08:00
..
2006-09-28 17:53:59 -07:00
2006-10-21 19:55:22 -07:00
2006-10-30 15:24:37 -08:00
2006-10-18 20:45:22 -07:00
2006-09-28 18:02:58 -07:00
2006-08-05 21:15:58 -07:00
2006-08-13 18:56:26 -07:00
2006-10-30 15:24:41 -08:00
2006-07-12 13:58:59 -07:00
2006-10-01 00:39:19 -07:00
2006-09-22 14:53:34 -07:00
2005-04-16 15:20:36 -07:00