Katalog CVE

CVE-2026-64575

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.12%

Percentyl 2 - wyżej niż 2% wszystkich znanych CVE

Streszczenie

W jądrze Linux w BPF dla TCP występuje podwójne zwolnienie gniazda podczas realokacji partii w funkcji bpf_iter_tcp_batch(). W przypadku niepowodzenia realokacji, funkcja zwraca błąd, ale wskaźniki cur_sk/end_sk pozostają nieaktualne, co prowadzi do ponownego wywołania bpf_iter_tcp_put_batch() i dereferencji ciasteczka jako wskaźnika do struktury sock. Poprawka opróżnia partię na ścieżce błędu, aby uniknąć podwójnego zwolnienia.

Ocena ryzyka

Podatność może prowadzić do awarii jądra (kernel panic) lub potencjalnie do eskalacji uprawnień, ponieważ umożliwia lokalnemu atakującemu wywołanie błędu w jądrze.

Rekomendacja

Zaleca się pilną aktualizację jądra Linux do wersji zawierającej poprawkę oraz ograniczenie dostępu do funkcji BPF dla nieuprawnionych użytkowników.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: bpf: tcp: fix double sock release on batch realloc bpf_iter_tcp_batch() releases the current batch via bpf_iter_tcp_put_batch(), which drops the socket refs and rewrites each slot with the socket cookie, then grows the batch. cur_sk/end_sk are kept for bpf_iter_tcp_resume(), but on realloc failure the function returns ERR_PTR() before resume runs, leaving cur_sk < end_sk over slots that now hold cookies rather than sock pointers. bpf_iter_tcp_seq_stop() then calls bpf_iter_tcp_put_batch() again and dereferences a cookie as a struct sock. Empty the batch on the failure path so stop() does not release it again. The sockets were already freed by the first bpf_iter_tcp_put_batch(), so nothing leaks, and a later read() rescans the bucket from the start instead of skipping it. The sibling GFP_NOWAIT failure path still holds real socket references and is left for stop() to release. BUG: KASAN: null-ptr-deref in __sock_gen_cookie Read of size 8 at addr 0000000000000059 by task exploit ... __sock_gen_cookie (net/core/sock_diag.c:28) bpf_iter_tcp_put_batch (net/ipv4/tcp_ipv4.c:2918) bpf_iter_tcp_seq_stop (net/ipv4/tcp_ipv4.c:3270) bpf_seq_read (kernel/bpf/bpf_iter.c:205) vfs_read (fs/read_write.c:572) ksys_read (fs/read_write.c:716) do_syscall_64 entry_SYSCALL_64_after_hwframe Kernel panic - not syncing: Fatal exception

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS