CVE-2022-49877
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
01/05/2025
Last modified:
02/05/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
bpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues<br />
<br />
When running `test_sockmap` selftests, the following warning appears:<br />
<br />
WARNING: CPU: 2 PID: 197 at net/core/stream.c:205 sk_stream_kill_queues+0xd3/0xf0<br />
Call Trace:<br />
<br />
inet_csk_destroy_sock+0x55/0x110<br />
tcp_rcv_state_process+0xd28/0x1380<br />
? tcp_v4_do_rcv+0x77/0x2c0<br />
tcp_v4_do_rcv+0x77/0x2c0<br />
__release_sock+0x106/0x130<br />
__tcp_close+0x1a7/0x4e0<br />
tcp_close+0x20/0x70<br />
inet_release+0x3c/0x80<br />
__sock_release+0x3a/0xb0<br />
sock_close+0x14/0x20<br />
__fput+0xa3/0x260<br />
task_work_run+0x59/0xb0<br />
exit_to_user_mode_prepare+0x1b3/0x1c0<br />
syscall_exit_to_user_mode+0x19/0x50<br />
do_syscall_64+0x48/0x90<br />
entry_SYSCALL_64_after_hwframe+0x44/0xae<br />
<br />
The root case is in commit 84472b436e76 ("bpf, sockmap: Fix more uncharged<br />
while msg has more_data"), where I used msg->sg.size to replace the tosend,<br />
causing breakage:<br />
<br />
if (msg->apply_bytes && msg->apply_bytes apply_bytes;
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/14e8bc3bf7bd6af64d7538a0684c8238d96cdfd7
- https://git.kernel.org/stable/c/8ec95b94716a1e4d126edc3fb2bc426a717e2dba
- https://git.kernel.org/stable/c/95adbd2ac8de82e43fd6b347e7e1b47f74dc1abb
- https://git.kernel.org/stable/c/cc21dc48a78cc9e5af9a4d039cd456446a6e73ff
- https://git.kernel.org/stable/c/d975bec1eaeb52341acc9273db79ddb078220399