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

bpf: reject BPF_PSEUDO_FUNC reference to the main program

fixups.c:jit_subprogs() rewrites BPF_PSEUDO_FUNC loads to contain real
function addresses. This function is invoked from bpf_jit_subprogs()
only when env->subprog_cnt > 1. Meaning that for any program like
below:

int main(void *ctx) {
void *ptr = main;
...
bpf_timer_set_callback(..., ptr);
...
}

The 'ptr' won't be ever converted to contain an address.
In combination with e.g. bpf_timer_set_callback() this would lead to a
function call at a bogus address.

Instead of complicating the implementation, just assume that no useful
program needs main to be a sync or async callback and reject
BPF_PSEUDO_FUNC loads for the main subprogram.
Published: 2026-09-25
Score: n/a
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Patch Immediately
AI Analysis

Impact

The Linux kernel bug allows a BPF program that loads a reference to the main function to bypass the JIT rewrite that normally substitutes the real address. Because the address is never finalized when subprogram_cnt is 1, the program can cause a call to an invalid or attacker‑supplied address, resulting in a kernel‑level arbitrary code execution. The flaw stems from an unchecked indirect function pointer and can compromise confidentiality, integrity, and availability of the entire system.

Affected Systems

Affected systems are Linux kernel distributions that have not yet incorporated the patch, including all mainstream vendors that ship the current kernel revision. No specific product versions are listed, indicating that all current releases before the changelog commit are vulnerable.

Risk and Exploitability

The CVSS score is not provided, but the vulnerability is high‑risk because it permits arbitrary code execution in kernel context. EPSS is not available, and the issue is not currently in CISA KEV. Attackers would need to supply a BPF program from user space; the likely vector is running malicious BPF bytecode from privileged processes or via kernel module interfaces. Because size of the patch commit is small, the fix is straightforward, but until the kernel is updated, the risk remains high.

Generated by OpenCVE AI on September 25, 2026 at 15:35 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a release containing commit 1182124 (or equivalent patched release).
  • If patching is not immediately possible, avoid loading BPF programs that reference the main function; use vendor guidance or disable the feature in the kernel configuration.
  • Validate and filter BPF programs to block BPF_PSEUDO_FUNC loads for the main subprogram.
  • Monitor kernel logs for unexpected BPF loading events and investigate suspicious activity.

Generated by OpenCVE AI on September 25, 2026 at 15:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-704

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: bpf: reject BPF_PSEUDO_FUNC reference to the main program fixups.c:jit_subprogs() rewrites BPF_PSEUDO_FUNC loads to contain real function addresses. This function is invoked from bpf_jit_subprogs() only when env->subprog_cnt > 1. Meaning that for any program like below: int main(void *ctx) { void *ptr = main; ... bpf_timer_set_callback(..., ptr); ... } The 'ptr' won't be ever converted to contain an address. In combination with e.g. bpf_timer_set_callback() this would lead to a function call at a bogus address. Instead of complicating the implementation, just assume that no useful program needs main to be a sync or async callback and reject BPF_PSEUDO_FUNC loads for the main subprogram.
Title bpf: reject BPF_PSEUDO_FUNC reference to the main program
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-25T10:24:14.472Z

Reserved: 2026-09-25T10:19:56.074Z

Link: CVE-2026-98075

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:36.847

Modified: 2026-09-25T11:17:36.847

Link: CVE-2026-98075

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T15:45:19Z

Weaknesses
  • CWE-704

    Incorrect Type Conversion or Cast