Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix out-of-bounds read of sk_protocol in bpf_sock_destroy() sk_protocol lives in struct sock, not in struct sock_common. A timewait or request sock handed to bpf_sock_destroy() by the tcp iterator is neither, so reading sk->sk_protocol runs past the object: ================================================================== BUG: KASAN: slab-out-of-bounds in bpf_sock_destroy+0xc7/0xe0 Read of size 2 at addr ffff8881047d11b4 by task test_progs/428 Tainted: [W]=WARN Call Trace: <TASK> dump_stack_lvl+0x91/0xf0 print_report+0xd1/0x630 kasan_report+0xf3/0x130 __asan_report_load2_noabort+0x14/0x30 bpf_sock_destroy+0xc7/0xe0 bpf_prog_c3dd61f9d9cd9f37_iter_tcp6_timewait+0x9f/0xb7 bpf_iter_run_prog+0x538/0xde0 bpf_iter_tcp_seq_show+0x26b/0x4b0 bpf_seq_read+0x424/0x1210 vfs_read+0x197/0xe40 ksys_read+0x119/0x240 __x64_sys_read+0x72/0xc0 x64_sys_call+0x647/0x27e0 do_syscall_64+0xe5/0x610 entry_SYSCALL_64_after_hwframe+0x76/0x7e Only check sk_protocol on full socks. tcp_abort() already knows how to deal with TIME_WAIT and NEW_SYN_RECV socks. Also fix the comment, it never matched the code.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
4ddbcb886268af8d12a23e6640b39d1d9c652b1b to < 5b4eb82475ae17d55974235c09e97044829426a8affected4ddbcb886268af8d12a23e6640b39d1d9c652b1b to < a9651704c6fd64590b5ad4fbe7c3768accf95993affected4ddbcb886268af8d12a23e6640b39d1d9c652b1b to < 91a482a81eabddebf5430cbbdf12027e1a91b767affected4ddbcb886268af8d12a23e6640b39d1d9c652b1b to < 2534a5e5d360c2b10203cfa80f4ab9d021e48f2faffected4ddbcb886268af8d12a23e6640b39d1d9c652b1b to < 01b245ba016d44861690594e10f67e026ce8552faffected
Linux Linux
Default version status: affected
6.5affected0 to < 6.5unaffected6.6.158 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.55 to ≤ 6.18.*unaffected7.2.9 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/5b4eb82475ae17d55974235c09e97044829426a8 ↗
- https://git.kernel.org/stable/c/a9651704c6fd64590b5ad4fbe7c3768accf95993 ↗
- https://git.kernel.org/stable/c/91a482a81eabddebf5430cbbdf12027e1a91b767 ↗
- https://git.kernel.org/stable/c/2534a5e5d360c2b10203cfa80f4ab9d021e48f2f ↗
- https://git.kernel.org/stable/c/01b245ba016d44861690594e10f67e026ce8552f ↗