Attached the syzkaller C repro. Tested-by: Saeed Mirzamohammadi <saeed.mirzamohammadi@xxxxxxxxxx>
Attachment:
repro.c
Description: Binary data
> On Oct 20, 2020, at 9:45 AM, Saeed Mirzamohammadi <saeed.mirzamohammadi@xxxxxxxxxx> wrote: > > Thanks! Yes, that looks good to me. > > Saeed > >> On Oct 20, 2020, at 4:50 AM, Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> wrote: >> >> On Mon, Oct 19, 2020 at 10:25:32AM -0700, saeed.mirzamohammadi@xxxxxxxxxx wrote: >>> From: Saeed Mirzamohammadi <saeed.mirzamohammadi@xxxxxxxxxx> >>> >>> This patch fixes the issue due to: >>> >>> BUG: KASAN: slab-out-of-bounds in nft_flow_rule_create+0x622/0x6a2 >>> net/netfilter/nf_tables_offload.c:40 >>> Read of size 8 at addr ffff888103910b58 by task syz-executor227/16244 >>> >>> The error happens when expr->ops is accessed early on before performing the boundary check and after nft_expr_next() moves the expr to go out-of-bounds. >>> >>> This patch checks the boundary condition before expr->ops that fixes the slab-out-of-bounds Read issue. >> >> Thanks. I made a slight variant of your patch. >> >> I'm attaching it, it is also fixing the problem but it introduced >> nft_expr_more() and use it everywhere. >> >> Let me know if this looks fine to you. >> <0001-netfilter-fix-KASAN-slab-out-of-bounds-Read-in-nft_f.patch> >