Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-53184

Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/06/2026
Última modificación:
06/07/2026

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> udp: clear skb-&gt;dev before running a sockmap verdict<br /> <br /> On the UDP receive path skb-&gt;dev is repurposed as dev_scratch (the<br /> truesize/state cache set by udp_set_dev_scratch()), through the<br /> union { struct net_device *dev; unsigned long dev_scratch; } in sk_buff.<br /> <br /> When a UDP socket is in a sockmap, sk_data_ready is<br /> sk_psock_verdict_data_ready(), which calls udp_read_skb() -&gt; recv_actor()<br /> (sk_psock_verdict_recv) to run the attached SK_SKB verdict program in softirq.<br /> If that program calls a socket-lookup helper (bpf_sk_lookup_tcp/udp,<br /> bpf_skc_lookup_tcp), bpf_skc_lookup() does:<br /> <br /> if (skb-&gt;dev)<br /> caller_net = dev_net(skb-&gt;dev);<br /> <br /> skb-&gt;dev still holds the dev_scratch value (a non-NULL integer), so dev_net()<br /> dereferences it as a struct net_device * and the kernel takes a general<br /> protection fault on a non-canonical address in softirq:<br /> <br /> Oops: general protection fault, probably for non-canonical address 0x1010000800004a0<br /> CPU: 1 UID: 0 PID: 1406 Comm: syz.2.19 Not tainted 7.1.0-rc6 #1 PREEMPT(full)<br /> RIP: 0010:bpf_skc_lookup net/core/filter.c:7033 [inline]<br /> RIP: 0010:bpf_sk_lookup+0x45/0x160 net/core/filter.c:7047<br /> Call Trace:<br /> <br /> bpf_prog_4675cb904b7071f8+0x12e/0x14e<br /> bpf_prog_run_pin_on_cpu+0xc6/0x1f0<br /> sk_psock_verdict_recv+0x1ba/0x350<br /> udp_read_skb+0x31a/0x370<br /> sk_psock_verdict_data_ready+0x2e3/0x600<br /> __udp_enqueue_schedule_skb+0x4c8/0x650<br /> udpv6_queue_rcv_one_skb+0x3ec/0x740<br /> udp6_unicast_rcv_skb+0x11d/0x140<br /> ip6_protocol_deliver_rcu+0x61e/0x950<br /> ip6_input_finish+0xa9/0x150<br /> NF_HOOK+0x286/0x2f0<br /> ip6_input+0x117/0x220<br /> NF_HOOK+0x286/0x2f0<br /> __netif_receive_skb+0x85/0x200<br /> process_backlog+0x374/0x9a0<br /> __napi_poll+0x4f/0x1c0<br /> net_rx_action+0x3b0/0x770<br /> handle_softirqs+0x15a/0x460<br /> do_softirq+0x57/0x80<br /> <br /> <br /> The rmem charge that dev_scratch accounted for is released by skb_recv_udp() on<br /> dequeue, just above, so the scratch is dead by the time recv_actor() runs. Clear<br /> skb-&gt;dev so bpf_skc_lookup() falls back to sock_net(skb-&gt;sk), which<br /> skb_set_owner_sk_safe() set just above.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.0 (incluyendo) 6.1.176 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.143 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.12.94 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (incluyendo) 6.18.36 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (incluyendo) 7.0.13 (excluyendo)
cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:*