2021-04-13 23:17:27

by Marcelo Ricardo Leitner

[permalink] [raw]
Subject: Re: [PATCH v2] net/sctp: fix race condition in sctp_destroy_sock

On Tue, Apr 13, 2021 at 09:10:31PM +0300, Or Cohen wrote:
> If sctp_destroy_sock is called without sock_net(sk)->sctp.addr_wq_lock
> held and sp->do_auto_asconf is true, then an element is removed
> from the auto_asconf_splist without any proper locking.
>
> This can happen in the following functions:
> 1. In sctp_accept, if sctp_sock_migrate fails.
> 2. In inet_create or inet6_create, if there is a bpf program
> attached to BPF_CGROUP_INET_SOCK_CREATE which denies
> creation of the sctp socket.
>
> The bug is fixed by acquiring addr_wq_lock in sctp_destroy_sock
> instead of sctp_close.
>
> This addresses CVE-2021-23133.
>
> Reported-by: Or Cohen <[email protected]>
> Reviewed-by: Xin Long <[email protected]>
> Fixes: 610236587600 ("bpf: Add new cgroup attach type to enable sock modifications")
> Signed-off-by: Or Cohen <[email protected]>

Thanks folks.
Acked-by: Marcelo Ricardo Leitner <[email protected]>