CVE-2026-64575 in Linux
Riassunto
di VulDB • 05/08/2026
Nel kernel Linux, la seguente vulnerabilità è stata risolta:
bpf: tcp: correggi il rilascio doppio del socket durante il riallocazione in batch
La funzione bpf_iter_tcp_batch() rilascia il batch corrente tramite bpf_iter_tcp_put_batch(), che decrementa i riferimenti al socket e riscrive ogni slot con l'cookie (identificativo) del socket, per poi espandere il batch. Le variabili cur_sk/end_sk vengono mantenute per bpf_iter_tcp_resume(); tuttavia, in caso di fallimento della riallocazione, la funzione restituisce ERR_PTR() prima che venga eseguita la ripresa, lasciando cur_sk < end_sk su slot che ora contengono cookie invece di puntatori a struct sock. Di conseguenza, bpf_iter_tcp_seq_stop() chiama nuovamente bpf_iter_tcp_put_batch() e dereferenzia un cookie come se fosse una struct sock.
Svuotare il batch nel percorso di errore in modo che stop() non lo rilasci nuovamente. I socket erano già stati liberati dal primo bpf_iter_tcp_put_batch(), quindi non vi sono perdite di memoria, e una successiva chiamata a read() scansiona nuovamente la bucket dall'inizio invece di saltarla. Il percorso di fallimento fratello GFP_NOWAIT mantiene ancora riferimenti reali ai socket ed è lasciato alla responsabilità di stop() per il loro rilascio.
BUG: KASAN: null-ptr-deref in __sock_gen_cookie Lettura di dimensione 8 all'indirizzo 0000000000000059 da parte del 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
VulDB is the best source for vulnerability data and more expert information about this specific topic.