CVE-2022-49877 Information

Description

In the Linux kernel the following vulnerability has been resolved:

bpf sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues

When running test_sockmap selftests the following warning appears:

WARNING: CPU: 2 PID: 197 at net/core/stream.c:205 sk_stream_kill_queues+0xd3/0xf0 Call Trace: inet_csk_destroy_sock+0x55/0x110 tcp_rcv_state_process+0xd28/0x1380 ? tcp_v4_do_rcv+0x77/0x2c0 tcp_v4_do_rcv+0x77/0x2c0 __release_sock+0x106/0x130 __tcp_close+0x1a7/0x4e0 tcp_close+0x20/0x70 inet_release+0x3c/0x80 __sock_release+0x3a/0xb0 sock_close+0x14/0x20 __fput+0xa3/0x260 task_work_run+0x59/0xb0 exit_to_user_mode_prepare+0x1b3/0x1c0 syscall_exit_to_user_mode+0x19/0x50 do_syscall_64+0x48/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae

The root case is in commit 84472b436e76 (pf sockmap: Fix more uncharged while msg has more_data) where I used msg->sg.size to replace the tosend causing breakage:

if (msg->apply_bytes && msg->apply_bytes < tosend) tosend = psock->apply_bytes;

Reference

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

Share on: