CVE-2026-90299

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux16d9c5660692d6f0e6aba367274de2b6dfd4343c < 976f1be72740cfbc351d3841fd21186dda3ea723affected
LinuxLinux16d9c5660692d6f0e6aba367274de2b6dfd4343c < 00244bdaa423d93f4571f3f6854378ce3365e524affected
LinuxLinux7.1affected
LinuxLinux0 < 7.1unaffected
LinuxLinux7.2.6 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References