CVE-2026-93135: bpf: Reject programs with inlined helpers if JIT is not available

Published Sep 17, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

bpf: Reject programs with inlined helpers if JIT is not available

When an architecture (such as LoongArch, ARM64, and RISC-V) implements bpfjitinlineshelpercall(), the verifier skips rewriting the helper call offset (insn->imm) in bpfdomiscfixups(). This is because the helper is expected to be inlined by the JIT compiler later. Therefore, insn->imm remains as the raw helper enum ID.

However, if JIT is disabled at runtime (net.core.bpfjitenable=0) or if JIT compilation fails dynamically (e.g., due to OOM), the program falls back to the BPF interpreter.

When the interpreter executes (bpfcallbase + insn->imm) with the unpatched raw ID, it jumps into an invalid address space, triggering an instruction alignment fault or a kernel panic.

Although these helpers have valid C implementations in the kernel, the omission of offset rewriting makes runtime interpreter fallback fatal.

Fix this by setting 'prog->jitrequired = 1' when helper call rewriting is skipped for JIT inlining. This ensures that such programs are safely rejected if JIT is not available, preventing the runtime kernel panic.

Affected Software

1 affected component
Linux Kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    If BPF JIT is disabled at runtime (net.core.bpf_jit_enable=0), ensure affected BPF programs are rejected/blocked when they rely on inlined helpers, rather than allowing interpreter fallback that can trigger a kernel panic.

    Linux kernel BPF JIT net.core.bpf_jit_enable = 0
  2. Configuration

    When helper call rewriting is performed, set 'prog->jit_required = 1' so that programs requiring JIT inlining are flagged accordingly (bpf: Reject programs with inlined helpers if JIT is not available).

    Linux kernel BPF helper rewriting prog->jit_required = 1

Event History

Sep 17, 2026
CVE Published
via MITRE·04:11 PM
Data Sourced
via MITRE·04:11 PM
Description

Frequently Asked Questions

1

Which systems are exposed to this failure mode?

Systems are exposed when their architecture implements bpf_jit_inlines_helper_call(), including examples named as LoongArch, ARM64, and RISC-V, and they run BPF programs containing helper calls expected to be inlined by JIT.

2

What conditions trigger the crash?

The affected BPF program must fall back to the interpreter after helper-call offset rewriting was skipped. This can occur when JIT is disabled at runtime through net.core.bpf_jit_enable=0 or when JIT compilation fails dynamically, such as from out-of-memory conditions.

3

What is the impact when the vulnerable path is reached?

The interpreter uses an unpatched raw helper ID as an address offset and can jump into invalid address space. This can cause an instruction-alignment fault or a kernel panic.

4

What mitigation is available if the fix cannot be deployed immediately?

Avoid interpreter fallback for affected programs by keeping BPF JIT available and enabled, and avoid conditions that cause JIT compilation to fail, such as out-of-memory situations. The resolved behavior instead rejects these programs when JIT is unavailable.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203