GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel cgroup/rstat: BPF kfunc accepts an unvalidated CPU index for per-cpu lookups

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

Impact

css_rstat_updated() is exposed to BPF programs and used a caller-supplied CPU number for per-cpu rstat lookups without checking it against the possible-CPU mask. A BPF iter/cgroup program can pass an out-of-range value and read or write memory past the per-cpu array, which on a non-UBSAN kernel is an out-of-bounds access rather than a clean report. The caller needs CAP_BPF and CAP_PERFMON, so this is a privileged-local issue: it matters where observability agents, profilers or tenant-visible BPF tooling hold those capabilities on shared GPU nodes, and not on a node where no unprivileged party can load BPF. The fix validates the CPU in the BPF-facing wrapper and moves the unchecked implementation to __css_rstat_updated() for in-kernel callers.

Who can reach it

Local user or container able to load a BPF iter/cgroup program with CAP_BPF and CAP_PERFMON. Not reachable without those capabilities; a default unprivileged pod cannot trigger it.

What to do

Update to a stable kernel containing the cgroup/rstat CPU-validation commits and reboot each node. As an interim control, audit which workloads and sidecars are granted CAP_BPF and CAP_PERFMON and drop them where the observability agent does not need them. No fixed mainline release number is given in the record beyond the listed stable commits.

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.