Re: [PATCH linux-5.9 1/1] net: netfilter: fix KASAN: slab-out-of-bounds Read in nft_flow_rule_create

From: Saeed Mirzamohammadi
Date: Sun Oct 25 2020 - 19:32:33 EST


Adding stable.


> On Oct 21, 2020, at 1:08 PM, Saeed Mirzamohammadi <saeed.mirzamohammadi@xxxxxxxxxx> wrote:
>
> Attached the syzkaller C repro.
>
> Tested-by: Saeed Mirzamohammadi <saeed.mirzamohammadi@xxxxxxxxxx>
> <repro.c>
>> 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>
>>
>