CVE Catalog

CVE-2026-90299

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, when CONFIG_FUNCTION_ERROR_INJECTION is disabled, the BPF verifier does not check whether the target symbol is a kernel function or a BPF program, so a sleepable tracing program can attach to a target whose name has an '__x64_'-like prefix. For example, a sleepable fentry program attached to a '__x64_sys_nop' XDP program and using bpf_copy_from_user() can trigger a "sleeping function called from invalid context" bug. The fix disallows sleepable programs when the target BTF is not the kernel's BTF.

Risk Assessment

This can cause kernel bugs and system instability, and potentially privilege escalation through improper BPF program attachment. It requires the ability to load BPF programs.

Recommendation

Update the Linux kernel to a version containing the fix. Restrict the ability to load BPF programs to trusted users.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix sleepable check for tracing/lsm prog When CONFIG_FUNCTION_ERROR_INJECTION is disabled, a sleepable tracing prog is allowed to attach to '__x64_'-alike prefix symbols. It is because the verifier does not verify whether the symbol is a kernel function or a bpf prog. That said, a sleepable tracing prog is allowed to attach to a bpf prog target whose name has '__x64_'-alike prefix. For example, a sleepable fentry prog attaches to a '__x64_sys_nop' XDP prog, and copies buffer from a user pointer with bpf_copy_from_user() helper. After attaching the XDP prog to lo interface, the kernel BUG could be triggered by 'ping -c 1 -W 1 127.0.0.1': [ 3.460756] BUG: sleeping function called from invalid context at kernel/bpf/trampoline.c:1324 Fix it by disallowing sleepable prog always when its target btf is not a kernel's btf.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS