GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel BPF verifier: sign-extended packet-pointer loads produce an invalid skb->data address

CVSS 5.5CVE-2024-47702Kernel, userspace & hypervisorcurated

Impact

A BPF program that loads __sk_buff->data, data_end or data_meta with a 32-bit sign-extending load passes verification but ends up with a truncated, invalid packet pointer after convert_ctx_accesses(), which can fault at runtime in the datapath. The record describes a syzbot-reported kernel crash, so the practical outcome is a host panic or networking-path oops rather than a read of other tenants' memory. On a GPU node this matters because the crash lands on the host that is running every pod's traffic: a node that panics takes its in-flight training or inference jobs with it, and a GPU node is not cheap to drain and reschedule. Loading the program requires the privilege to attach BPF, so the realistic trigger is a CNI, observability agent or anything else granted CAP_BPF, not an ordinary tenant pod.

Who can reach it

Local, authenticated, and privileged: a process able to load BPF programs (CAP_BPF/CAP_SYS_ADMIN, in practice a privileged DaemonSet such as a CNI or tracing agent). Not reachable from an unprivileged tenant pod with default capabilities.

What to do

Take the stable kernel fix (the verifier now rejects sign-extended access to the packet pointer fields in is_valid_access()); four stable branch commits are listed in the record. Applying it means installing a patched kernel and rebooting each node, so it belongs in a normal kernel-maintenance window rather than an emergency one. Until then, the practical mitigation is the control you should already have: do not let untrusted workloads load BPF programs.

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.