GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux bpf: sysctl write buffer allocated with kvzalloc but freed with kfree, corrupting memory

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

Impact

proc_sys_call_handler() allocates the temporary sysctl write buffer with kvzalloc(), which falls back to vmalloc for large writes, but the cgroup BPF sysctl filter freed the replacement buffer with kfree(). Freeing a vmalloc address through the slab path corrupts kernel memory; the reporter reproduced a page fault in kfree() under KASAN with fault injection while writing 8191 bytes to a sysctl from inside the target cgroup. Reaching it needs a BPF_CGROUP_SYSCTL program attached to the cgroup the writer lives in, which is a container-runtime and policy-agent pattern rather than something a bare tenant sets up - so the realistic exposure on a GPU fleet is a node whose runtime or security agent installs sysctl filters. The record describes memory corruption; it does not demonstrate a controlled privilege escalation.

Who can reach it

Local - a process in a cgroup that has a BPF sysctl filter attached, performing a large sysctl write. Attaching the filter itself requires privilege; the write does not.

What to do

Update to a stable kernel that frees the buffer with kvfree(). Until then, not attaching BPF_CGROUP_SYSCTL programs avoids the path entirely, which may be possible depending on your runtime and policy agent. The kernel fix needs each node drained and rebooted.

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.