GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel bpf/cgroup: BUG() in purge_effective_progs on detach after allocation failure

CVSS 7.1CVE-2022-49970Kernel, userspace & hypervisorcurated

Impact

Detaching a cgroup-attached BPF program can hit a BUG() in purge_effective_progs when a prior kmalloc fails and the code falls back to the purge path: the loop position counter skips the remaining layers and the cgroup pointer ends up NULL. The result is a kernel panic, taking the whole node down. On a GPU host that means every job on the box dies and the node needs a reboot to come back. Reaching it needs a nested cgroup hierarchy with programs attached at two levels plus a memory allocation failure - the syzkaller reproducer uses fault injection, so hitting it by accident requires the machine to already be under allocation pressure. No memory corruption or privilege escalation is claimed, only the panic.

Who can reach it

Local user able to attach and detach cgroup BPF programs, which normally means CAP_BPF/CAP_SYS_ADMIN in the init namespace or a privileged container. Not reachable by an unprivileged tenant pod under a default policy, and not reachable remotely.

What to do

Apply the stable kernel fix through your distribution's kernel update (four backport commits are listed) and reboot the affected hosts. Because exploitation needs privileged BPF access, this can usually wait for the next scheduled node-drain window rather than an emergency reboot; container runtimes and observability agents that attach cgroup BPF programs are the practical exposure to review.

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.