CVE-2026-31504

Severity CVSS v4.0:
Pending analysis
Type:
CWE-416 Use After Free
Publication date:
22/04/2026
Last modified:
28/04/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net: fix fanout UAF in packet_release() via NETDEV_UP race<br /> <br /> `packet_release()` has a race window where `NETDEV_UP` can re-register a<br /> socket into a fanout group&amp;#39;s `arr[]` array. The re-registration is not<br /> cleaned up by `fanout_release()`, leaving a dangling pointer in the fanout<br /> array.<br /> `packet_release()` does NOT zero `po-&gt;num` in its `bind_lock` section.<br /> After releasing `bind_lock`, `po-&gt;num` is still non-zero and `po-&gt;ifindex`<br /> still matches the bound device. A concurrent `packet_notifier(NETDEV_UP)`<br /> that already found the socket in `sklist` can re-register the hook.<br /> For fanout sockets, this re-registration calls `__fanout_link(sk, po)`<br /> which adds the socket back into `f-&gt;arr[]` and increments `f-&gt;num_members`,<br /> but does NOT increment `f-&gt;sk_ref`.<br /> <br /> The fix sets `po-&gt;num` to zero in `packet_release` while `bind_lock` is<br /> held to prevent NETDEV_UP from linking, preventing the race window.<br /> <br /> This bug was found following an additional audit with Claude Code based<br /> on CVE-2025-38617.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.1.1 (including) 5.10.253 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.203 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.168 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.131 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.80 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.18.21 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (including) 6.19.11 (excluding)
cpe:2.3:o:linux:linux_kernel:3.1:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*