Re: CVE-2024-41041: udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port().

From: gregkh@xxxxxxxxxxxxxxxxxxx
Date: Tue Sep 03 2024 - 08:58:30 EST


On Tue, Sep 03, 2024 at 02:53:57PM +0200, Eric Dumazet wrote:
> On Tue, Sep 3, 2024 at 2:07 PM gregkh@xxxxxxxxxxxxxxxxxxx
> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Tue, Sep 03, 2024 at 11:56:17AM +0000, Siddh Raman Pant wrote:
> > > On Mon, 29 Jul 2024 16:32:36 +0200, Greg Kroah-Hartman wrote:
> > > > In the Linux kernel, the following vulnerability has been resolved:
> > > >
> > > > udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port().
> > > >
> > > > [...]
> > > >
> > > > We had the same bug in TCP and fixed it in commit 871019b22d1b ("net:
> > > > set SOCK_RCU_FREE before inserting socket into hashtable").
> > > >
> > > > Let's apply the same fix for UDP.
> > > >
> > > > [...]
> > > >
> > > > The Linux kernel CVE team has assigned CVE-2024-41041 to this issue.
> > > >
> > > >
> > > > Affected and fixed versions
> > > > ===========================
> > > >
> > > > Issue introduced in 4.20 with commit 6acc9b432e67 and fixed in 5.4.280 with commit 7a67c4e47626
> > > > Issue introduced in 4.20 with commit 6acc9b432e67 and fixed in 5.10.222 with commit 9f965684c57c
> > >
> > > These versions don't have the TCP fix backported. Please do so.
> >
> > What fix backported exactly to where? Please be more specific. Better
> > yet, please provide working, and tested, backports.
>
>
> commit 871019b22d1bcc9fab2d1feba1b9a564acbb6e99
> Author: Stanislav Fomichev <sdf@xxxxxxxxxxx>
> Date: Wed Nov 8 13:13:25 2023 -0800
>
> net: set SOCK_RCU_FREE before inserting socket into hashtable
> ...
> Fixes: 6acc9b432e67 ("bpf: Add helper to retrieve socket in BPF")
>
> It seems 871019b22d1bcc9fab2d1feba1b9a564acbb6e99 has not been pushed
> to 5.10 or 5.4 lts
>
> Stanislav mentioned a WARN_ONCE() being hit, I presume we could push
> the patch to 5.10 and 5.4.
>
> I guess this was skipped because of a merge conflict.

Yes, the commit does not apply, we need someone to send a working
backport for us to be able to take it.

Siddh, can you please do this?

thanks,

greg k-h