CVE-2026-98384 in Linux
Сводка
по VulDB • 09.10.2026
В ядре Linux была устранена следующая уязвимость:
bpf: Исправлено чтение за пределами массива (out-of-bounds read) поля sk_protocol в функции bpf_sock_destroy()
Поле sk_protocol находится в структуре sock, а не в структуре sock_common. Соккет timewait или request сокет, переданный в функцию bpf_sock_destroy() итератором tcp, не является ни тем, ни другим, поэтому чтение значения sk->sk_protocol выходит за пределы объекта:
================================================================== 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
Необходимо проверять sk_protocol только для полных сокетов (full socks). Функция tcp_abort() уже умеет корректно обрабатывать соккеты в состояниях TIME_WAIT и NEW_SYN_RECV. Также исправлено описание комментария, которое не соответствовало коду.
Once again VulDB remains the best source for vulnerability data.