CVE Catalog

CVE-2026-93270

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the BPF interpreter ignored the 'off' field of the BPF_MOV64_PERCPU_REG (BPF_ADDR_PERCPU) instruction, which requires JIT compilation to native code. As a result, loading memory from such a register triggered a page fault and a kernel oops.

Risk Assessment

The ability to trigger a page fault and kernel oops via the BPF interpreter can cause system crashes or be exploited for denial of service, and potentially for privilege escalation.

Recommendation

Update the Linux kernel to a version with the fix that sets jit_required to true when a BPF_ADDR_PERCPU instruction is patched into the program, disallowing interpreter fallback.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: bpf: Disallow interpreter fallback for BPF_ADDR_PERCPU insn The BPF_MOV64_PERCPU_REG insn requires JIT to emit native code to for 'dst_reg = src_reg + <percpu_base_off>'. However, the interpreter ignores the 'off' at its ALU64_MOV_X label. The 'off' indicates the insn is BPF_MOV64_PERCPU_REG insn. Then, when the interpreter loads memory from the register, it will hit a page fault. [ 2.545572] BUG: unable to handle page fault for address: ffffffffacaaf034 [ 2.546485] #PF: supervisor read access in kernel mode [ 2.547167] #PF: error_code(0x0000) - not-present page [ 2.547850] PGD 134e63067 P4D 134e63067 PUD 134e64063 PMD 10021c063 PTE 800ffffeca550062 [ 2.548912] Oops: Oops: 0000 [#1] SMP PTI Set jit_required as true in order to disallow interpreter fallback in core.c::__bpf_prog_select_runtime(), if any BPF_ADDR_PERCPU insn is patched to the prog. BTW, rename the helper bpf_map_supports_cpu_flags() to bpf_map_is_percpu_map().

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