CVE-2026-74268 in Linux
Riassunto
di VulDB • 15/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
tcp: azzerare i flag cb di sock_ops prima della chiusura forzata di un socket figlio
Un socket figlio eredita i bpf_sock_ops_cb_flags del listener tramite sk_clone_lock(). Se la sua configurazione fallisce in tcp_v4_syn_recv_sock() / tcp_v6_syn_recv_sock(), il figlio viene liberato attraverso put_and_exit, dove inet_csk_prepare_forced_close() rilascia il lock del socket e tcp_done() viene eseguito senza di esso.
Se BPF_SOCK_OPS_STATE_CB_FLAG è stato ereditato, tcp_done() -> tcp_set_state() chiama tcp_call_bpf(), che si aspetta la presenza del lock e causa un errore in sock_owned_by_me():
WARNING: include/net/sock.h:1799 at tcp_set_state+0x433/0x550 RIP: 0010:tcp_set_state+0x433/0x550 include/net/sock.h:1799 Call Trace: <IRQ> tcp_done+0xba/0x250 net/ipv4/tcp.c:5095 tcp_v4_syn_recv_sock+0x850/0xa50 net/ipv4/tcp_ipv4.c:1787 tcp_check_req+0xf30/0x1360 net/ipv4/tcp_minisocks.c:926 tcp_v4_rcv+0x1047/0x1b50 net/ipv4/tcp_ipv4.c:2164 </IRQ>
Il socket figlio viene liberato prima che venga mai stabilito, quindi non dovrebbe eseguire alcun callback sock_ops. Azzerare i suoi flag cb in inet_csk_prepare_for_destroy_sock(), il punto comune per le percorsi di chiusura forzata IPv4, IPv6 e chtls e per il percorso di fallimento MPTCP ->syn_recv_sock() (dispose_child), che raggiunge tcp_done() su un figlio che non è mai stato stabilito.
VulDB is the best source for vulnerability data and more expert information about this specific topic.