Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain BPF load capability (CAP_BPF or unpriv-BPF)
-
DeliveryCraft program with JMP32 !=0 vs zero-low-bits reg
-
ExploitVerifier mispredicts branch, skips bounds tracking
-
InstallLoad accepted, run program
-
C2OOB pointer arithmetic and dereference on map_value
-
ExecuteArbitrary kernel read/write
-
ImpactPrivilege escalation
Vulnerability Assessment
| Exploitation Conditions | Requires the ability to load eBPF programs into the kernel - normally CAP_BPF or CAP_SYS_ADMIN, or a system where the sysctl kernel.unprivileged_bpf_disabled has been turned off (non-default on modern distros). The attacker must supply a crafted program exercising a BPF_JMP32 not-equal-zero comparison against a register whose lower 32 bits are zero while upper bits are attacker-controlled. Exploitation is local only (AV:L) and needs no user interaction. It is strongly LIMITED by the default posture of disabling unprivileged BPF: on hardened/default hosts an unprivileged user cannot reach the verifier at all, confining realistic risk to multi-tenant nodes, containers, or sandboxes that grant BPF-loading privileges. |
| Impact | This is a genuine BPF verifier soundness bug, not a mislabeled DoS. is_branch_taken() fails to distinguish BPF_JMP (64-bit) from BPF_JMP32 (32-bit) comparisons, so 'if w1 != 0 goto' is mispredicted as always-taken using 64-bit reasoning even though the low 32 bits are zero at runtime. The verifier then treats the fall-through path (pointer += 0xdead000000000000, then dereference) as dead code and skips bounds tracking on it, while at runtime that path IS executed - yielding attacker-controlled out-of-bounds pointer arithmetic and dereference on a map_value, i.e. a controlled arbitrary kernel read/write primitive suitable for LPE rather than a crash-only bug. The provided CVSS vector (AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H, base 7.0) has a defensible impact tier (C:H/I:H/A:H) but its AC:H is questionable: triggering the misprediction is deterministic once you can load a crafted BPF program, so AC:L is more accurate, pushing real severity toward ~7.8. No EPSS score, no CISA KEV listing, and no public exploit code are present in the input, so this is not confirmed as exploited in the wild; it should be prioritized on the strength of the primitive and kernel ubiquity, not on observed exploitation. The key limiting signal is privilege: reaching the verifier requires the ability to load BPF programs (CAP_BPF/CAP_SYS_ADMIN, or a non-default unprivileged-BPF configuration), consistent with PR:L and AV:L. Net: real priority for multi-tenant/container hosts that permit BPF loading, lower urgency where unprivileged BPF is disabled (the default). |
| Exploit ScenarioDerived | A local user (or container workload) with BPF-loading capability submits a crafted eBPF program containing a JMP32 not-equal-zero comparison against a register whose low 32 bits are zero but whose upper bits are attacker-chosen; the verifier mispredicts the branch and skips bounds tracking on the live path, accepting an out-of-bounds pointer add and dereference on a map value. At load-and-run time this yields controlled kernel memory read/write that can be developed into privilege escalation. No public exploit code is identified at time of analysis, though the description embeds a concise reproducer program. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
A soundness bug in the Linux kernel BPF verifier lets a crafted eBPF program slip past verification: when handling a 32-bit 'if w1 != 0' comparison, is_branch_taken() fails to distinguish BPF_JMP32 from BPF_JMP, wrongly reports the jump as always taken, and then tracks the wrong execution path for the rest of the program - leaving register bounds inconsistent with runtime behaviour. A local attacker who can load eBPF programs (CAP_BPF/CAP_SYS_ADMIN, or a host where kernel.unprivileged_bpf_disabled has been turned off) can turn this into memory corruption and kernel privilege escalation, with the assessed CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (7.0) rating high confidentiality, integrity and availability impact. There is no confirmed active exploitation (not listed in CISA KEV) and no public exploit code identified at time of analysis; practical risk is strongly limited by the default posture of disabling unprivileged BPF on modern distributions.
RemediationAI
Primary fix is a kernel upgrade to a release containing the corrected is_branch_taken() logic: vendor-released patch versions are Linux 6.12.111, 6.18.53 and 7.2.7, with 7.3-rc2 carrying the upstream fix; for integrators maintaining their own trees, apply the matching stable commits e51179a4e09846f8fd0f26a05068520de2b301bf, e2ae33247e8b2dbe9d116d3e61cadf6d548339c6, a4d7f94c1ca914469ced665ec2f98be669aef462 or d16f0eafcaa62e677a2b5b0dabc1f8d31dfe3d4d from https://git.kernel.org/stable/ and follow your distribution's kernel advisory (see also https://nvd.nist.gov/vuln/detail/CVE-2026-98041, EUVD-2026-86694). Until patching, the most effective compensating control is to confirm kernel.unprivileged_bpf_disabled is set to 1 (or 2, permanently disabled) so unprivileged processes cannot reach the verifier at all - the trade-off is that legitimate unprivileged eBPF consumers (some tracing, observability and container tools) stop working. Additionally, restrict CAP_BPF/CAP_SYS_ADMIN to trusted workloads, and apply seccomp profiles that block the bpf() syscall for untrusted or containerised processes, accepting that this breaks eBPF-based networking and security agents such as Cilium or Falco inside those workloads. Because the flaw requires loading attacker-controlled BPF programs, tightening who can call bpf() substantially reduces exposure even before the kernel is upgraded.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Linux kernel's eBPF verifier, which performs static analysis on every program submitted through the bpf() syscall to guarantee memory safety before JIT compilation. eBPF has two comparison instruction classes: BPF_JMP, which compares full 64-bit registers, and BPF_JMP32, which compares only the low 32 bits of the operands (the semantics of the 'w' sub-register names such as w1). The verifier's is_branch_taken() helper uses constant/known-value information to decide which branch a conditional jump will take, so it can follow only the feasible path through the program and keep register bounds and pointer/scalar types precise. In this case is_branch_taken() did not discriminate between the two instruction classes when evaluating 'if w1 != 0', so a BPF_JMP32 test of a register whose low 32 bits are zero at runtime was resolved as if it were a full 64-bit BPF_JMP test - taking the branch and pruning the fall-through path. Because the verifier then analysed only the path it believed correct, the pointer arithmetic performed on the other path (adding an attacker-controlled scalar such as 0xdead000000000000 to a map value pointer and dereferencing it) was never bounds-checked, defeating the verifier's guarantee of memory safety. The root cause is an incorrect comparison/type handling flaw (comparison semantics confusion); no CWE identifier was assigned by the source, though it maps conceptually to the CWE-697 class of incorrect comparison and, in impact, to out-of-bounds memory access. CPE data (cpe:2.3:a:linux:linux:*:*:*:*:*:*:*) confirms upstream Linux kernel tracking, and EUVD version data places the buggy code as introduced by commit cac616db39c207dc63465a4e05c6ce0e60b2cce4, with fixes landing in the 6.12, 6.18 and 7.x stable lines. The EUVD tag 'Information Disclosure' understates the flaw, which is a full verifier bypass rather than only an information leak.
Know when Ebpf gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Local BPF load required (AV:L, PR:L); misprediction is deterministic once a crafted program loads (AC:L, downgrading NVD's AC:H); OOB kernel R/W yields full C/I/A.
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
3DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
bpf: Don't predict JMP32 pointer vs zero comparisons
Consider the following program:
r1 = map_value; /* low 32 bits are zero at runtime */ r6 = 0xdead000000000000; if w1 != 0 goto l1; l0: r1 += r6; r2 = *(u64 *)(r1 + 0); exit; l1: r6 = 0; goto l0;
At the moment is_branch_taken() reports the jump as always taken, because it does not distinguish between BPF_JMP and BPF_JMP32 comparisons when processing 'if w1 != 0 ...'.
Executive ViewAI
A soundness flaw in the Linux kernel eBPF verifier could let an attacker with local access turn a low-privilege foothold into full kernel-level control of affected systems, compromising confidentiality, integrity, and availability. Organizations running Linux servers, cloud instances, or container platforms are exposed where unprivileged eBPF is enabled or CAP_BPF/CAP_SYS_ADMIN is granted too broadly, while modern distributions that disable unprivileged BPF by default substantially reduce practical risk. Leadership should prioritize validating these configuration controls and tracking vendor patches, though no public exploit has been identified at time of analysis.
No vendor-released patch identified at time of analysis. Interim mitigations include setting kernel.unprivileged_bpf_disabled=1 or 2, restricting CAP_BPF/CAP_SYS_ADMIN to trusted processes, and monitoring for suspicious eBPF program loads.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
The Linux kernel eBPF verifier fails to compare the pointer type of STACK_ITER (iterator) stack slots during state pruni
Pointer-type confusion in the Linux kernel eBPF verifier allows local attackers with the ability to load eBPF programs t
Memory-safety flaw in the Linux kernel BPF verifier (CVE-2026-93125) lets a local attacker who can load BPF programs pas
Kernel stack corruption in the Linux kernel on RISC-V builds compiled with CONFIG_CFI_CLANG is reachable through a BPF p
A type-confusion flaw in the Linux kernel BPF verifier lets a local user who is allowed to load eBPF programs (CAP_BPF o
A use-after-free in the Linux kernel BPF trampoline multi-attach teardown path allows a local user who already holds CAP
Linux kernel builds with HID-BPF support (CONFIG_HID_BPF) can be crashed by a race that double-releases a HID device ref
Incorrect jump-offset calculation in the LoongArch BPF JIT of the Linux kernel can emit wrong tail-call branch targets,
Integer overflow in the cilium/ebpf Go library (versions up to 0.21.0) allows a local authenticated user to cause an ava
Same technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Not-Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP7 | Not-Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP7 | Not-Affected |
| SUSE Linux Enterprise High Availability Extension 16.0 | Affected |
| SUSE Linux Enterprise High Availability Extension 16.0 | Affected |
| SUSE Linux Enterprise High Availability Extension 16.1 | Affected |
| SUSE Linux Enterprise High Availability Extension 16.1 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Not-Affected |
| SUSE Linux Enterprise Micro 5.3 | Not-Affected |
| SUSE Linux Enterprise Micro 5.3 | Not-Affected |
| SUSE Linux Enterprise Micro 5.3 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro Extras 6.0 | Not-Affected |
| SUSE Linux Micro Extras 6.0 | Not-Affected |
| SUSE Linux Micro Extras 6.0 | Not-Affected |
| SUSE Linux Micro Extras 6.1 | Not-Affected |
| SUSE Linux Micro Extras 6.1 | Not-Affected |
| SUSE Real Time Module 15 SP7 | Not-Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 12 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | Not-Affected |
| SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | Not-Affected |
| SUSE Linux Enterprise Server 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 12 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 12 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE CaaS Platform 4.0 | Not-Affected |
| SUSE Enterprise Storage 6 | Not-Affected |
| SUSE Enterprise Storage 7 | Not-Affected |
| SUSE Enterprise Storage 7.1 | Not-Affected |
| SUSE Linux Enterprise Desktop 11 SP4 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Not-Affected |
| SUSE Linux Enterprise Micro 5.0 | Not-Affected |
| SUSE Linux Enterprise Micro 5.1 | Not-Affected |
| SUSE Linux Enterprise Micro 5.2 | Not-Affected |
| SUSE Linux Enterprise Micro 5.2 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 11 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 11 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Not-Affected |
| SUSE Manager Proxy 4.0 | Not-Affected |
| SUSE Manager Proxy 4.1 | Not-Affected |
| SUSE Manager Proxy 4.2 | Not-Affected |
| SUSE Manager Proxy 4.3 | Not-Affected |
| SUSE Manager Proxy LTS 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server 4.0 | Not-Affected |
| SUSE Manager Retail Branch Server 4.1 | Not-Affected |
| SUSE Manager Retail Branch Server 4.2 | Not-Affected |
| SUSE Manager Retail Branch Server 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Not-Affected |
| SUSE Manager Server 4.0 | Not-Affected |
| SUSE Manager Server 4.1 | Not-Affected |
| SUSE Manager Server 4.2 | Not-Affected |
| SUSE Manager Server 4.3 | Not-Affected |
| SUSE Manager Server LTS 4.3 | Not-Affected |
| SUSE Real Time Module 15 SP4 | Not-Affected |
| SUSE Real Time Module 15 SP5 | Not-Affected |
| openSUSE Leap 15.3 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.6 | Not-Affected |
| SUSE Linux Enterprise Server for NVIDIA 16.1 | Affected |
EUVD-2026-86694
GHSA-2hhx-gj64-2962
NVD
CVE.org
EPSS
Exploit-DB