CVE Catalog

CVE-2026-31504

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.13%

3th percentile - higher than 3% of all known CVEs

Summary

A vulnerability was found in the Linux kernel's fanout mechanism for packet sockets. The `packet_release()` function does not zero `po->num` within the `bind_lock` section, allowing a concurrent `NETDEV_UP` event to re-register the closing socket into the fanout group's `arr[]` array. This leaves a dangling pointer in the array, leading to a Use-After-Free condition.

Risk Assessment

An attacker can exploit the race window to trigger kernel memory corruption, potentially causing system crashes (DoS) or, under controlled conditions, privilege escalation via data leakage.

Recommendation

Apply the Linux kernel patch for CVE-2026-31504 immediately, which sets `po->num` to zero in `packet_release()` under `bind_lock`. Update to a kernel version containing this fix.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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

Vulnerability data from NVD (NIST) · CISA KEV · EPSS