GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel BPF verifier: kptrs stay valid after the final spin unlock ends RCU protection

CVSS 7.8CVE-2026-90317Kernel, userspace & hypervisorcurated

Impact

In a sleepable BPF program a bpf_spin_lock can be the only RCU protection covering a kptr. The final bpf_spin_unlock() ends that protection, but the verifier continues to treat the pointer as valid, so another CPU can free the object before the program dereferences it. The record states a capability-limited runtime proof of concept triggered a task_struct use-after-free in __bpf_get_task_stack(), which makes this a demonstrated local escalation primitive rather than a theoretical one, scored 7.8 with full confidentiality, integrity and availability loss. On a shared GPU cluster the exposed surface is every agent allowed to load sleepable BPF - tracing, security and networking daemons - and recovery from a corrupted task_struct is a node reboot.

Who can reach it

Local: a context that can load a sleepable BPF program using kptrs and bpf_spin_lock. The record describes the proof of concept as capability-limited, i.e. it does not require full root, but node access and BPF load rights are needed. No remote vector.

What to do

Move to a stable kernel with the listed commits and reboot the affected nodes. In the interim, limit BPF program loading: unprivileged BPF off, CAP_BPF withheld from tenant workloads, and audit which cluster agents load sleepable programs. No fixed vendor release is given.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.