CVE Catalog

CVE-2026-90393

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, bpf_netns_link_update_prog performs checks for old_prog and prog type locklessly before acquiring netns_bpf_mutex. This creates a race condition that can lead to a use-after-free (UAF) when two threads concurrently execute BPF_LINK_UPDATE on the same netns link. The fix moves the checks inside the netns_bpf_mutex critical section.

Risk Assessment

A use-after-free in the BPF subsystem may cause kernel crashes or potential privilege escalation. Systems using BPF and network namespaces are at risk.

Recommendation

Update the Linux kernel to a version with the fix that moves the checks into the netns_bpf_mutex critical section. Restrict BPF_LINK_UPDATE operations to trusted users.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix potential UAF in bpf_netns_link_update_prog In bpf_netns_link_update_prog, the checks for old_prog and prog type are currently performed locklessly before acquiring netns_bpf_mutex. This creates a race condition that can lead to a UAF issue. If two threads concurrently execute BPF_LINK_UPDATE on the same netns link, the following execution path can trigger a UAF: CPU0 CPU1 bpf_netns_link_update_prog if (old_prog && old_prog != link->prog) return -EPERM; bpf_netns_link_update_prog if (old_prog && old_prog != link->prog) ... old_prog = xchg(&link->prog, new_prog); bpf_prog_put(old_prog); if (new_prog->type != link->prog->type) <-- trigger UAF Fix this by moving the old_prog and prog->type checks inside the netns_bpf_mutex critical section. Meanwhile, use guard() to simplify lock management and avoid all the goto jumping.

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