Thread (3 messages) 3 messages, 3 authors, 2021-04-13

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

From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Date: 2021-04-13 19:08:40
Also in: linux-sctp, lkml

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 <redacted>
Reviewed-by: Xin Long <lucien.xin@gmail.com>
Fixes: 610236587600 ("bpf: Add new cgroup attach type to enable sock modifications")
Signed-off-by: Or Cohen <redacted>
Thanks folks.
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help