CVE-2022-49205
Severity CVSS v4.0:
Pending analysis
Type:
CWE-415
Double Free
Publication date:
26/02/2025
Last modified:
22/09/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
bpf, sockmap: Fix double uncharge the mem of sk_msg<br />
<br />
If tcp_bpf_sendmsg is running during a tear down operation, psock may be<br />
freed.<br />
<br />
tcp_bpf_sendmsg()<br />
tcp_bpf_send_verdict()<br />
sk_msg_return()<br />
tcp_bpf_sendmsg_redir()<br />
unlikely(!psock))<br />
sk_msg_free()<br />
<br />
The mem of msg has been uncharged in tcp_bpf_send_verdict() by<br />
sk_msg_return(), and would be uncharged by sk_msg_free() again. When psock<br />
is null, we can simply returning an error code, this would then trigger<br />
the sk_msg_free_nocharge in the error path of __SK_REDIRECT and would have<br />
the side effect of throwing an error up to user space. This would be a<br />
slight change in behavior from user side but would look the same as an<br />
error if the redirect on the socket threw an error.<br />
<br />
This issue can cause the following info:<br />
WARNING: CPU: 0 PID: 2136 at net/ipv4/af_inet.c:155 inet_sock_destruct+0x13c/0x260<br />
Call Trace:<br />
<br />
__sk_destruct+0x24/0x1f0<br />
sk_psock_destroy+0x19b/0x1c0<br />
process_one_work+0x1b3/0x3c0<br />
worker_thread+0x30/0x350<br />
? process_one_work+0x3c0/0x3c0<br />
kthread+0xe6/0x110<br />
? kthread_complete_and_exit+0x20/0x20<br />
ret_from_fork+0x22/0x30<br />
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.189 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.110 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.33 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.16.19 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.17 (including) | 5.17.2 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/223f3c51ab163852dd4819d357dcf33039929434
- https://git.kernel.org/stable/c/2486ab434b2c2a14e9237296db00b1e1b7ae3273
- https://git.kernel.org/stable/c/94c6ac22abcdede72bfaa0f4c22fb370891f4002
- https://git.kernel.org/stable/c/ac3ecb7760c750c8e4fc09c719241d8e6e88028c
- https://git.kernel.org/stable/c/cb6f141ae705af0101e819065a79e6d029f6e393
- https://git.kernel.org/stable/c/cd84ea3920aef936c559b63099ef0013ce6b2325



