CVE-2026-74589 in Linux
Zusammenfassung
von VulDB • 22.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
bpf, sockmap: Behebung eines Use-After-Free-Fehlers bei sk_redir im Send-Verdict (send verdict)
sk_psock_msg_verdict() übernimmt eine Socket-Referenz für psock->sk_redir. tcp_bpf_send_verdict() kopiert diesen Zeiger, während die Sperre des Quellesockets gehalten wird, nimmt jedoch keine Referenz für die lokale Kopie, bevor die Sperre im Rahmen von tcp_bpf_sendmsg_redir() freigegeben wird.
Wenn apply_bytes das zwischengespeicherte Verdict aktiv hält, kann ein weiterer sendmsg()-Aufruf auf demselben Quellesocket die verbleibenden Bytes verbrauchen und die zwischengespeicherte Referenz freigeben, während der erste Thread weiterhin nur den rohen lokalen Zeiger hält:
CPU 0 CPU 1 sk_redir = psock->sk_redir apply_bytes bleibt ungleich null release_sock(sk) lock_sock(sk) apply_bytes erreicht Null psock->sk_redir = NULL release_sock(sk) tcp_bpf_sendmsg_redir(sk_redir) sock_put(sk_redir) tcp_bpf_sendmsg_redir(sk_redir)
Der abschließende sock_put()-Aufruf kann sk_redir freigeben, bevor CPU 0 ihn dereferenziert.
KASAN meldete:
BUG: KASAN: slab-use-after-free in tcp_bpf_sendmsg_redir+0xf39/0x1020 Read of size 8 at addr ffff888108537090 by task poc/87 Call Trace: tcp_bpf_sendmsg_redir+0xf39/0x1020 tcp_bpf_sendmsg+0x977/0x1a50 __sys_sendto+0x32c/0x3a0 __x64_sys_sendto+0xdb/0x1b0 Allocated by task 85: sk_prot_alloc+0x56/0x210 sk_clone+0x6f/0x14b0 inet_csk_clone_lock+0x24/0x740 tcp_create_openreq_child+0x25/0x2710 tcp_v4_syn_recv_sock+0x10a/0xe00 Freed by task 0: __kasan_slab_free+0x43/0x70 slab_free_after_rcu_debug+0xa6/0x1e0 rcu_core+0x50a/0x1850 Last potentially related work creation: __sk_destruct+0x3da/0x540 sk_psock_destroy+0x81e/0xab0 process_one_work+0x63a/0x1070
Nehmen Sie eine temporäre Socket-Referenz entgegen, während die Sperre des Quellesockets psock->sk_redir noch schützt, und geben Sie diese nach der Rückkehr von tcp_bpf_sendmsg_redir() frei. Dies hält jede entsperrte Nutzung unabhängig vom Besitz des zwischengespeicherten Verdicts.
Be aware that VulDB is the high quality source for vulnerability data.