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

From: gregkh@xxxxxxxxxxxxxxxxxxx
Date: Wed Sep 04 2024 - 07:32:22 EST


On Wed, Sep 04, 2024 at 11:26:36AM +0000, Siddh Raman Pant wrote:
> On Tue, Sep 03 2024 at 18:28:14 +0530, gregkh@xxxxxxxxxxxxxxxxxxx
> wrote:
> > 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?
>
> Sure.
>
> I see there are Stable-dep commits too, but the seem unrelated and
> require some commits from another feature patchset. Do I need to
> backport them too?

Do what you think you need to do :)