Skip to main content

Linux Kernel CVE-2026-89906

| EUVDEUVD-2026-80506 HIGH
2026-09-16 Linux GHSA-gpr4-rp6h-2879
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain BPF-load capability on LoongArch host
  2. Delivery
    Submit crafted BPF program with tail calls
  3. Exploit
    Trigger stale-stride jump offset across extra JIT passes
  4. Execution
    Wrong branch offsets executed
  5. Impact
    Kernel soft lockup / DoS

Vulnerability Assessment

Exploitation Conditions

Requires local execution on a LoongArch (Loongson) system running an affected kernel, plus the privilege to load eBPF programs into the kernel JIT - typically CAP_BPF or CAP_SYS_ADMIN, since unprivileged BPF is disabled by default on modern kernels. The flaw is architecture-specific to the LoongArch BPF JIT tail-call path and only manifests when 'extra JIT passes' occur, so it is not a deterministic single-request trigger. Limiting factors: non-x86/non-ARM niche platform, capability-gated BPF loading, and dependence on JIT pass/code-stride conditions rather than fully attacker-controlled input.

Impact

This is a high-CVSS-but-low-real-risk issue. The vendor CVSS 3.1 score of 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) is over-scored relative to the described impact. The root cause is a LoongArch BPF JIT miscompilation: the tail-call jump offset is derived from a stale prior-pass code stride, producing wrong branch offsets that manifest as soft lockups (an availability/DoS condition). The description gives no evidence of confidentiality or integrity compromise, so the full C:H/I:H triad in the vendor vector is not supported by the text - the realistic impact is availability. AC:L is also questionable: the bug only surfaces 'under extra JIT passes,' which is a non-trivial, timing/size-estimation-dependent trigger rather than a straightforward one-shot. PR:L (or higher) is defensible because loading BPF programs requires elevated capability (CAP_BPF/CAP_SYS_ADMIN), and unprivileged BPF is disabled by default on most modern kernels. No EPSS score, no KEV listing, and no public POC were provided. The 'Code Injection' tag conflicts with the description - this is a JIT offset miscalculation causing a lockup, not attacker-controlled code execution; treat that signal as unreliable. Net: real-world priority is LOW, driven by DoS on a niche architecture behind a privilege boundary.

Exploit ScenarioDerived

A local user with the capability to load eBPF programs on a LoongArch host submits a BPF program containing tail calls that, when JIT-compiled across multiple passes, triggers the stale-stride jump-offset miscalculation and produces wrong branch offsets, causing a kernel soft lockup and denial of service. No public exploit code is identified, and the trigger depends on JIT pass behavior rather than a deterministic single input.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 16, 2026

Incorrect jump-offset calculation in the LoongArch BPF JIT of the Linux kernel can emit wrong tail-call branch targets, causing soft lockups (high availability impact) and, per the assessed vector, limited integrity impact, while confidentiality is unaffected. Affected are LoongArch (Loongson) systems running vulnerable kernel branches including the 6.1.x, 6.6.x, 6.12.x, 6.15.x, 6.16.x and 6.17 lines; exploitation requires local access plus the capability to load eBPF programs into the kernel (CAP_BPF or CAP_SYS_ADMIN, since unprivileged BPF is disabled by default), and only manifests when extra JIT passes occur, so it is not a deterministic single-request trigger. No public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis, and the assessed severity is lower than the headline 7.8 because the flaw is architecture-specific, capability-gated and condition-dependent; vendor-released patches are available in 6.18.51, 7.2.5 and 7.3-rc1.

RemediationAI

Apply the vendor-released fix: upgrade to Linux kernel 6.18.51, 7.2.5 or 7.3-rc1, or take the corresponding distro backport, with the stable commits at https://git.kernel.org/stable/c/882b8912b7e92341fdb115ba0e2e5142a28684ff, https://git.kernel.org/stable/c/96f44d493c280ea161569c43d7ed0f3b0815803a and https://git.kernel.org/stable/c/37d545d12f21c4d50612ecaebd7ae1e5bf91b2d8 as the authoritative diffs (see also https://nvd.nist.gov/vuln/detail/CVE-2026-89906). Because the trigger is gated on the ability to load eBPF programs, the primary compensating control is to keep unprivileged BPF disabled (kernel.unprivileged_bpf_disabled=2, the default on modern kernels) and to restrict CAP_BPF/CAP_SYS_ADMIN to trusted administrative workloads, since any process holding those capabilities on a LoongArch host can reach the vulnerable JIT path. A more aggressive mitigation is to disable the JIT entirely (net.core.bpf_jit_enable=0 where the sysctl still exists, or build with CONFIG_BPF_JIT=n); the trade-off is that all BPF programs then run in the interpreter with a substantial performance penalty, and on kernels built with CONFIG_BPF_JIT_ALWAYS_ON this option is unavailable, so patching remains the only complete remedy. Removing or quarantining LoongArch hosts from untrusted multi-tenant BPF workloads until the kernel is updated reduces exposure but is operationally disruptive; no patch-independent workaround fully removes the mis-emitted branch condition, so kernel updates should be prioritised on any Loongson system that permits BPF program loading by non-root or semi-trusted users.

Affected VersionsENISA

Linux 6.15.11 <6.16
Linux 6.12.43 <6.13
Linux 9262e3e04621558e875eb5afb5e726b648cd5949
Linux f83d469e16bb1f75991ca67c56786fb2aaa42bea
Linux cd39d9e6b7e4c58fa77783e7aedf7ada51d02ea3 <37d545d12f21c4d50612ecaebd7ae1e5bf91b2d8
Linux 6.6.103 <6.7
Linux patch: 6.18.51
Linux 6.1.149 <6.2
Linux f2b5e50cc04d7a049b385bc1c93b9cbf5f10c94f
Linux patch: 7.3-rc1
Linux 17c010fe45def335fe03a0718935416b04c7f349
Linux cd39d9e6b7e4c58fa77783e7aedf7ada51d02ea3 <882b8912b7e92341fdb115ba0e2e5142a28684ff
Linux cd39d9e6b7e4c58fa77783e7aedf7ada51d02ea3 <96f44d493c280ea161569c43d7ed0f3b0815803a
Linux patch: 0
Linux patch: 7.2.5
Linux 1a782fa32e644aa9fbae6c8488f3e61221ac96e1
Linux 6.16.2 <6.17
Linux 6.17

Affected Packages

euvd linux fix: 6.2, 6.7, 6.13, 6.16, 6.17

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 vulnerability lives in the LoongArch BPF JIT compiler, the architecture-specific backend that translates eBPF bytecode into native Loongson machine code. Tail calls in eBPF replace the current program's frame with another program and are implemented in the JIT by emitting an unconditional branch to a target instruction, which requires the compiler to compute a relative jump offset. The pre-fix code used a macro-based jmp_offset calculation that derived the jump distance from a code stride memoized during an earlier JIT pass; when the kernel performs additional JIT passes (multi-pass emission used for size estimation and branch relaxation/truncation), that stride is stale, so the computed distance no longer matches the final instruction layout and an incorrect branch offset is emitted into executable kernel text. The fix computes the offset directly from the absolute target, "ctx->offset[insn + 1] - ctx->idx", and adds a "ctx->image == NULL" guard so that the size-estimation pass (where no image buffer exists yet) injects a safe dummy offset instead of aborting on a false 16-bit range-check failure. Root cause class: a code-generation/offset-calculation defect in the JIT's branch emission logic; no CWE identifier was supplied in the source data. The practical consequence of a mis-emitted branch is a jump to an unintended location in kernel text, which in the assessed impact profile yields soft lockups and limited integrity effects rather than code execution.

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

Vendor (Linux) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 5.3 MEDIUM

Local BPF loading needs a capability (PR:L) and the stale-stride bug requires extra JIT passes (AC:H); impact is a soft lockup (A:H) with only JIT control-flow integrity affected (I:L), no confidentiality.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE 5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat 5.5 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 16, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Sep 16, 2026 - 11:03 EUVD
CVE Published
Sep 16, 2026 - 10:32 cve.org
HIGH 7.8
CVE Published
Sep 16, 2026 - 10:32 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

LoongArch: BPF: Refactor jump offset calculation in tail call

The old macro-based jmp_offset calculation derives the jump distance from a stale prior-pass code stride, which can lead to wrong branch offsets and soft lockups under extra JIT passes.

Fix this by calculating the offset directly on the absolute target: "ctx->offset[insn + 1] - ctx->idx".

To avoid a false 16-bit range check abort during size estimation, add a "ctx->image == NULL" guard to inject a safe dummy offset.

Executive ViewAI

Why It Matters

Linux kernel deployments on LoongArch/Loongson hardware are exposed to a high-severity availability flaw that can cause system soft lockups when certain privileged BPF workloads trigger incorrect tail-call branch generation. The practical business risk is concentrated on organizations running that architecture for production or edge workloads with users who can load eBPF programs, while confidentiality is unaffected and exploitation requires local access plus elevated BPF capabilities; no public exploit identified at time of analysis. Leadership should prioritize patching LoongArch/Loongson Linux assets because an affected system could suffer service disruption, though the non-deterministic trigger and architecture-specific scope limit broad enterprise exposure.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche LoongArch architecture with BPF JIT; minimal production footprint outside China-market Loongson systems
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Vendor StatusVendor

SUSE

Severity: Moderate
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 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy