No kernel Linux, a seguinte vulnerabilidade foi resolvida. sockmap: corrigir o uso-após- livre no udp_bpf_recvmsg() syzbot relatou o uso- depois- livre de struct sk_ msg em sk_ msg_ recvmsg(). [ 0 ].
sk_msg_regvmsg() peeks sk_msg de psock->ingress_msg sob um bloqueio, mas seu processamento é sem bloqueio. Assim, sk_msg_recvmsg() deve ser serializado por chamadas, caso contrário, vários threads poderiam tocar no mesmo sk_msg.
Por exemplo, o TCP usa lock_sock(), e o AF_UNIX usa unix_sk(sk)->iolock. Inicialmente, o udp_bpf_recvmsg() tinha usado lock_sock(), mas o commit citado removeu- o.
Vamos serializar sk_msg_recvmsg() com lock_sock() em udp_bpf_recvmsg(). Note que a contenção de spin_lock_bh(&sk->sk_receive_queue.lock) não é uma opção devido a copy_page_to_iter() no sk_msg_recvmsg().
[ 0 ]: BUG: KASAN: uso de lajes-após-livre em sk_msg_recvmsg+ 0 xb 54 / 0 xc 30 líquido/core/ skmsg.c: 428 Leia o tamanho 4 no addr ffff 88814 cdcf 000 por syz tarefa. 0.24 / 6020 CPU: 1 UID: 0 PID: 6020 Comm: syz. 0.24 Não está contaminado o syzkaller # 0 Nome do hardware: Google Compute Engine/Google Compute Engine, BIOS Google 01 / 13 / 2026 Chame o rastreamento: dump_stack_lvl+ 0 xe 8 / 0 x 150 lib/ dump_stack.c: 120 print_ address_ description mm/kasan/report.c: 378 [inline] print_report+ 0 xba/ 0 x 230 mm/kasan/ report. c: 482 kasan_report+ 0 x 117 / 0 x 150 mm/kasan/ report. c: 595 Sk_msg_recvmsg+ 0 xb 54 / 0 xc 30 líquido/core/ skmsg.c: 428 udp_bpf_recvmsg+ 0 x 4 bd/ 0 xe 00 rede/ipv 4 / udp_ bpf.c: 84 inet_recvmsg+ 0 x 260 / 0 x 270 rede/ipv 4 /af_inet.c: 891 Sock_recvmsg_ nosec net/ socket.c: 1078 [inline] sock_recvmsg+ 0 x 1 a 8 / 0 x 270 net/ socket. c: 1100 ____sys_recvmsg+ 0 x 1 e 6 / 0 x 4 a 0 net/ socket. c: 2812 ___sys_recvmsg+ 0 x 215 / 0 x 590 net/ socket. c: 2854 do_recvmmsg+ 0 x 334 / 0 x 800 net/ socket. c: 2949 __sys_ recvmmsg net/ socket.c: 3023 [inline] __ do_sys_recvmmsg net/ socket.c: 3046 [inline] __se_sys_recvmmsg net/ socket.c: 3039 [inline] __x 64 _sys_recvmmsg+ 0 x 198 / 0 x 250 net/ socket. c: 3039 do_syscall_x 64 arch/ x 86 /entry/ syscall_ 64. c: 63 [inline] do_syscall_ 64 + 0 xe 2 / 0 xf 80 arch/ x 86 /entry/ syscall_ 64. c: 94 digitação_SISCO_ 64 _após_hwframe+ 0 x 77 / 0 x 7 f RIP: 0033: 0 x 7 fb 319 f 9 aeb 9 Código: ff c 3 66 2 e 0 f 1 f 84 00 00 00 00 00 0 f 1 f 44 00 00 48 89 f 8 48 89 f 7 48 89 d 6 48 89 ca 4 d 89 c 2 4 d 89 c 8 4 c 8 b 4 c 24 08 0 f 05 3 d 01 f 0 ff ff 73 01 c 3 48 c 7 c 1 e 8 ff ff ff ff 7 d 8 64 89 01 48 RSP: 002 b: 00007 fb 31 anúncio 97028 EFLAGS: 00000246 ORIG_ RAX: 000000000000012 RÁXO: ffffffffffffffda RBX: 00007 fb 31 a 216090 RCX: 00007 fb 319 f 9 aeb 9 RDX: 0000000000000001 RSI: 0000200000000400 RDI: 0000000000000004 RBP: 00007 fb 31 a 008 c 1 f R 08: 0000000000000000 R 09: 0000000000000000 R 10: 0000000040000021 R 11: 0000000000000246 R 12: 0000000000000000 R 13: 00007 fb 31 a 216128 R 14: 00007 fb 31 a 216090 R 15: 00007 ffe 21 dd 0 a 98.
Alocado por tarefa 6019: kasan_save_ stack mm/kasan/common.c: 57 [inline] kasan_save_track+ 0 x 3 e/ 0 x 80 mm/kasan/common.c: 78 veneno_kmalloc_ redzone mm/kasan/common.c: 398 [inline] __kasan_kmalloc+ 0 x 93 / 0 xb 0 mm/kasan/common.c: 415 kasan_ kmalloc inclui/ linux/ kasan.h: 263 [inline] __kmalloc_cache_noprof+ 0 x 3 d 1 / 0 x 6 e 0 mm/ slub.c: 5780 kmalloc_ noprof include/linux/slab.h: 957 [inline] kzalloc_ noprof include/linux/slab.h: 1094 [inline] alloc_sk_ msg net/core/ skmsg.c: 510 [inline] sk_psock_skb_ingress_self+ 0 x 60 / 0 x 350 líquido/core/ skmsg.c: 612 sk_psock_verdict_ apply net/core/skmsg.c: 1038 [inline] sk_psock_verdict_recv+ 0 x 7 d 9 / 0 x 8 d 0 líquido/core/ skmsg.c: 1236 udp_read_skb+ 0 x 73 e/ 0 x 7 e 0 rede/ipv 4 / udp.c: 2045 sk_psock_verdict_data_ready+ 0 x 12 d/ 0 x 550 líquido/core/ skmsg.c: 1257 __udp_enqueue_schedule_skb+ 0 xc 54 / 0 x 10 b 0 rede/ipv 4 / udp.c: 1789 __udp_queue_rcv_skb net/ipv 4 / udp.c: 2346 [inline] udp_queue_rcv_one_skb+ 0 xac 5 / 0 x 19 c 0 rede/ipv 4 / udp.c: 2475 __ udp 4 _lib_mcast_ entregue+ 0 xc 06 / 0 xcf 0 rede/ipv 4 / udp.c: 2585 __ udp 4 _lib_rcv+ 0 x 10 f 6 / 0 x 2620 rede/ipv 4 / udp.c: 2724 ip_protocol_deliver_rcu+ 0 x 282 / 0 x 440 rede/ipv 4 /ip_ input. c: 207 ip_local_delivery_finish+ 0 x 3 bb/ 0 x 6 f 0 rede/ipv 4 /ip_ input. c: 241 NF_HOOK+ 0 x 336 / 0 x 3 c 0 Incluir/linux/netfilter.h: 318 dst_ input include/ net/ dst.h: 474 [inline] ip_sublist_rcv_finish+ 0 x 221 / 0 x 2 a 0 rede/ipv 4 /ip_ input. c: 584 ip_list_rcv_finir rede/ipv 4 /ip_inp --- truncado--- Registro de aconselhamento: GHSA- 9 q 9 r- 2 g 23 - 7 q 72. Identificadores relacionados: CVE- 2026 - 74257.
Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 15 T 06: 32: 27.000 Z e lista a sua última modificação como 2026 - 08 - 17 T 06: 33: 34.000 Z.
Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.
Software afetado: o registro de aconselhamento não fornece um pacote normalizado ou faixa de versões.
Classificação e evidência: nenhum identificador CWE está listado. O registro contém 4 suporte de referências nestes tipos: AVISO, WEB.