GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel BPF: use-after-free when multi-attach trampoline update fails and the still-live old image is freed

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

Impact

When bpf_trampoline_update() fails before modify_fentry_multi() or unregister_fentry_multi() runs, cur_image still equals old_image and ftrace continues to call into it, yet the error path frees old_image anyway. ftrace then dispatches into freed executable memory - a use-after-free on a code page, which is among the most directly exploitable kernel corruption shapes. The exposure on a GPU fleet is through the tracing and observability stack: anything that attaches fentry/fexit multi programs (eBPF profilers, security agents, kprobe-based monitors) can hit the failing update path. NVD scores it local, low complexity, high on confidentiality, integrity and availability.

Who can reach it

Local user or agent able to attach BPF trampoline (fentry/fexit multi) programs, which requires CAP_BPF plus CAP_PERFMON or root. Not reachable from an unprivileged tenant pod; the attacker must be able to force the attach/update to fail.

What to do

Apply the stable kernel update that frees old_image only when it differs from cur_image (commits 0253073fb7d7, 65c3939656fd) and reboot each node. The code is in the built-in BPF core, so no module reload or live-patch route is published in the record. Interim mitigation is to restrict which workloads may attach fentry multi programs. No fixed release numbers appear in the record.

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.