Skip to main content

Linux Kernel EUVDEUVD-2026-82255

| CVE-2026-93147 HIGH
2026-09-17 Linux GHSA-fgfc-g2f4-qw94
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    Obtain CAP_BPF on s390 host
  2. Delivery
    Load crafted eBPF program using cpu_nr
  3. Exploit
    JIT emits non-zero-extending ly load
  4. Execution
    BPF_REG_0 holds stale upper bits
  5. Impact
    Leak/miscompute from garbage value

Vulnerability Assessment

Exploitation Conditions

Requires the ability to load and execute an eBPF program on an s390x (IBM Z) Linux host - i.e., CAP_BPF (or CAP_SYS_ADMIN on older kernels), so an unprivileged remote path does not apply. Exploitation is further limited to the s390 architecture (the bug is in the s390 BPF JIT emitting the ly instruction for cpu_nr) and to BPF programs that read the current CPU number; on any other architecture or without BPF-load privilege the code path is unreachable. The observable effect is stale upper 32 bits in BPF_REG_0, which bounds the practical impact.

Impact

The vendor-assigned CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, base 7.8) overstates the real-world impact of this s390 BPF JIT codegen defect. The vector's local attack vector and PR:L are consistent with the actual precondition - an attacker must be able to load and run an eBPF program on an s390 (IBM Z mainframe) host, which requires CAP_BPF/CAP_SYS_ADMIN. However, the High confidentiality/integrity/availability ratings are not well supported: the bug is that the ly instruction loads the 32-bit cpu_nr into 64-bit BPF_REG_0 without zeroing the upper word (whereas llgf zero-extends), so BPF_REG_0 carries stale/garbage upper bits. The concrete consequence is a wrong 64-bit value in a BPF register - at most a small leak of leftover register contents into the BPF program and/or incorrect downstream computation, not a clear high-impact memory-corruption primitive. No EPSS score, no CISA KEV listing, and no public POC are provided. SSVC-style reading: exploitation is 'none observed', not automatable (requires privileged local BPF load on a niche architecture), and technical impact is partial at best. This is a legitimate correctness fix but a low-priority, low-probability issue in practice - a high-CVSS-but-low-real-risk item, gated by privilege and a rare platform. Realistic severity is closer to ~4.5-5.5.

Exploit ScenarioDerived

A local user with CAP_BPF on an IBM Z (s390x) Linux host loads an eBPF program that retrieves the current CPU number; on the JITed s390 code path the upper 32 bits of BPF_REG_0 are not cleared, so the program observes a 64-bit value containing stale kernel register bits and/or uses it in a subsequent computation that misbehaves. No public exploit is identified at time of analysis, and exploitation is confined to the s390 architecture and privileged BPF loading.

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 18, 2026

A code-generation defect in the Linux kernel's s390 BPF JIT compiler causes 32-bit CPU-number loads to leave stale data in the upper 32 bits of the 64-bit BPF_REG_0 register, so eBPF programs running on IBM Z (s390x) hosts can receive incorrect, non-zero-extended values. The flaw is only reachable by a local actor who can load and execute an eBPF program (CAP_BPF, or CAP_SYS_ADMIN on older kernels) on an s390x system and whose program reads the current CPU number; it is not reachable remotely or on other architectures. The vendor-assigned CVSS 3.1 base score is 7.8, but our independent assessment rates the practical impact considerably lower (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L), and no public exploit was identified at time of analysis.

RemediationAI

Apply the upstream fix: update the s390x kernel to Linux 7.2.6 or later (mainline 7.3-rc1), or cherry-pick the stable commits 88500a86ab79f01c568de6ed00f5b1c5c79f11d5 and 5f6cc299938b561cb01e343bab7042611fcee12a, which replace the ly load of cpu_nr with the zero-extending llgf in the s390 BPF JIT. Patch availability is confirmed as vendor-released (Linux patch 7.2.6 / 7.3-rc1), so no untested compensation is required on supported s390x kernels. Where patching must be deferred, the most direct mitigation is to disable the BPF JIT on affected s390x hosts (net.core.bpf_jit_enable=0 in sysctl, or CONFIG_BPF_JIT_ALWAYS_ON off at build), which forces the interpreter path and avoids the faulty codegen entirely; the trade-off is a measurable eBPF throughput/performance regression and loss of JIT-based hardening features. Alternatively, restrict who may load BPF programs and hold CAP_BPF/CAP_SYS_ADMIN to trusted principals and set kernel.unprivileged_bpf_disabled=1 to close the unprivileged loading route, accepting that this does not protect against an already-privileged local attacker; on hosts that do not need eBPF at all, blocking BPF program loading outright removes the exposure. Because exploitation additionally requires a BPF program that reads the current CPU number, auditing or restricting such programs reduces reachability. Reference the kernel stable commits linked above and the NVD record at https://nvd.nist.gov/vuln/detail/CVE-2026-93147 for verification.

Affected VersionsENISA

Linux 9012cf2491e3c5d28d098b0d6da804af82977032 <88500a86ab79f01c568de6ed00f5b1c5c79f11d5
Linux patch: 7.3-rc1
Linux patch: 0
Linux 9012cf2491e3c5d28d098b0d6da804af82977032 <5f6cc299938b561cb01e343bab7042611fcee12a
Linux 7.2
Linux patch: 7.2.6

Affected Packages

euvd linux no fix

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 classic BPF/eBPF just-in-time compiler for the s390 architecture inside the Linux kernel. In the JIT's code path that materializes the current CPU number (cpu_nr) into the BPF return register BPF_REG_0, the emitter used the s390 ly (load) instruction instead of llgf (load logical and zero-extend). Because cpu_nr is a 32-bit quantity while BPF_REG_0 is architecturally 64 bits, ly does not clear the upper 32 bits of the destination register, whereas llgf does. Any subsequent 64-bit read of BPF_REG_0 can therefore observe residual data carried over from the register's previous contents rather than a properly zero-extended CPU number. This is a register-initialization/zero-extension correctness error in JIT code generation; the source data records no CWE identifier (N/A), though the defect class is best described as incomplete initialization producing stale-data exposure rather than a memory-safety violation. The CPE strings identify linux:linux as the affected product family, and the bug is intrinsically architecture-bound: the faulty ly/llgf emission exists only in the s390 JIT, so x86_64, arm64 and other BPF JITs are unaffected. The observable effect is limited to incorrect upper-32-bit contents in a JIT'd register, which bounds severity well below the vendor's C:H/I:H/A:H vector and aligns with our assessed C:L/I:L/A:L.

Know when the next one hits your stack

  • 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 privileged BPF load on s390 (AV:L, PR:L, AC:L); impact limited to stale register bits - minor leak/miscompute, so C:L/I:L/A:L rather than High.

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

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 18, 2026 - 18:22 NVD
7.8 (HIGH)
Patch available
Sep 17, 2026 - 17:19 EUVD
CVE Published
Sep 17, 2026 - 16:11 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 17, 2026 - 16:11 cve.org
HIGH 7.8

DescriptionCVE.org

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

s390/bpf: Replace ly instruction with llgf

cpu_nr is a 32 bit value and BPF_REG_0 is a 64 bit register, when ly loads the cpu_nr into BPF_REG_0 it does not zero the upper bits, but llgf does.

Executive ViewAI

Why It Matters

IBM Z (s390x) Linux hosts running the affected kernel eBPF JIT face a localized integrity risk in which certain eBPF programs may compute incorrect CPU-number values, potentially causing faulty logic in system or security tooling on those mainframes. The issue is not remotely reachable and requires local, privileged eBPF loading, so exposure is limited to trusted administrators or workloads already granted elevated capabilities; no public exploit identified at time of analysis. Leadership should direct prompt patching of affected s390x systems while recognizing the practical business impact is constrained relative to the vendor’s high severity rating.

Business Impact: Low
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
s390/IBM Z mainframe-only BPF JIT path, privileged and niche
Data Quality
3 sources
Confidence: Low

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
Low

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

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
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

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