CVE-2022-49732 Information
Description
In the Linux kernel the following vulnerability has been resolved:
sock: redo the psock vs ULP protection check
Commit 8a59f9d1e3d4 (\sock: Introduce sk->sk_prot->psock_update_sk_prot()) has moved the inet_csk_has_ulp(sk) check from sk_psock_init() to the new tcp_bpf_update_proto() function. I’m guessing that this was done to allow creating psocks for non-inet sockets.
Unfortunately the destruction path for psock includes the ULP unwind so we need to fail the sk_psock_init() itself. Otherwise if ULP is already present we’ll notice that later and call tcp_update_ulp() with the sk_proto of the ULP itself which will most likely result in the ULP looping its callbacks.
Reference
https://git.kernel.org/stable/c/72fa0f65b56605b8a9ae9fba2082f2123f7fe017 https://git.kernel.org/stable/c/922309e50befb0cfa5cb65e4989b7706d6578846 https://git.kernel.org/stable/c/e34a07c0ae3906f97eb18df50902e2a01c1015b6
Share on: