Re: [PATCH nf] ebtables: fix table blob use-after-free

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 17, 2023 at 11:20:06PM +0100, Florian Westphal wrote:
> We are not allowed to return an error at this point.
> Looking at the code it looks like ret is always 0 at this
> point, but its not.
> 
> t = find_table_lock(net, repl->name, &ret, &ebt_mutex);
> 
> ... this can return a valid table, with ret != 0.
> 
> This bug causes update of table->private with the new
> blob, but then frees the blob right away in the caller.
> 
> Syzbot report:
> 
> BUG: KASAN: vmalloc-out-of-bounds in __ebt_unregister_table+0xc00/0xcd0 net/bridge/netfilter/ebtables.c:1168
> Read of size 4 at addr ffffc90005425000 by task kworker/u4:4/74
> Workqueue: netns cleanup_net
> Call Trace:
>  kasan_report+0xbf/0x1f0 mm/kasan/report.c:517
>  __ebt_unregister_table+0xc00/0xcd0 net/bridge/netfilter/ebtables.c:1168
>  ebt_unregister_table+0x35/0x40 net/bridge/netfilter/ebtables.c:1372
>  ops_exit_list+0xb0/0x170 net/core/net_namespace.c:169
>  cleanup_net+0x4ee/0xb10 net/core/net_namespace.c:613
> ...
> 
> ip(6)tables appears to be ok (ret should be 0 at this point) but make
> this more obvious.

Applied, thanks



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux