GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel BPF: tail calls between programs on different hooks bypass ctx-access and return-value checks

CVSS 7.8CVE-2024-50063Kernel, userspace & hypervisorcurated

Impact

The verifier checks each BPF program against the prototype and return-value rules of the kernel function or LSM hook it is attached to. It did not stop a program on one hook from tail-calling a program attached to a different hook. The callee could then read context arguments the caller's hook never supplied, or return values the caller's hook forbids, such as a positive return from a BPF LSM hook. The result is out-of-bounds context reads and broken LSM policy decisions. This matters on nodes where BPF loading is delegated to observability, security or CNI agents (Cilium, Tetragon-style tools) rather than kept with root.

Who can reach it

Local. Requires the ability to load and attach tracing or BPF LSM programs, which normally means root or CAP_BPF with CAP_PERFMON/CAP_SYS_ADMIN. It is not reachable by an unprivileged tenant unless such capabilities are granted to their container.

What to do

Update to a stable kernel that includes the fix (commits in the record; Debian LTS has shipped it) and reboot each node. Drain GPU workloads first. Until then, do not grant CAP_BPF or CAP_SYS_ADMIN to tenant containers, and keep unprivileged BPF disabled (kernel.unprivileged_bpf_disabled).

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.