Skip to main content

Linux Kernel EUVDEUVD-2026-82233

| CVE-2026-93125 HIGH
2026-09-17 Linux GHSA-vqq3-2x9h-9pmg
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 / local BPF load capability
  2. Delivery
    Craft BPF program with oversized rdonly/rdwr_buf_size const
  3. Exploit
    Verifier truncates size to wrong u32 mem_size bound
  4. Execution
    Program performs OOB access on PTR_TO_MEM register
  5. Impact
    Read or corrupt adjacent kernel memory

Vulnerability Assessment

Exploitation Conditions

Requires the ability to load and run a BPF program locally - i.e. CAP_BPF (plus CAP_PERFMON/CAP_SYS_ADMIN depending on program type), or a system configured with kernel.unprivileged_bpf_disabled=0 to allow unprivileged BPF. The program must invoke a kfunc that declares a rdonly_buf_size or rdwr_buf_size argument and returns a PTR_TO_MEM, and must supply a size constant whose value exceeds U32_MAX (upper 32 bits set) so the truncation triggers. Exploitation is limited to kernels between the introduction at eb1f7f71c126 and the fixes (56a3846830ac / 2aaf67f0516f); systems where unprivileged BPF is disabled (the hardened default on most modern distros) confine this to already-privileged CAP_BPF holders.

Impact

This is a genuine BPF verifier memory-safety bug, not a mere crash issue: check_kfunc_args() stores an unbounded u64 rdonly_buf_size/rdwr_buf_size value into meta->r0_size, which is later truncated into the u32 mem_size of the returned PTR_TO_MEM register. A constant whose upper 32 bits are set silently truncates, so the verifier accepts a register carrying an ~4 GiB bound over whatever allocation the kfunc returned, and subsequent access checks use that wrong, oversized bound - an out-of-bounds read/write primitive within the kernel. The vendor CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H = 7.8) is directionally reasonable but likely overstates C/I/A as full High: the OOB is bounded and allocation-relative rather than an arbitrary kernel R/W, so a more honest impact is C:L/I:L/A:H (~5.5-6.0). No EPSS score, no CISA KEV listing, and no public exploit are present in the provided data, so there is no evidence of active or imminent exploitation. The critical limiting factor absent from the CVSS vector is that loading BPF programs requires CAP_BPF/CAP_SYS_ADMIN (or explicitly enabled unprivileged BPF, which most hardened distros disable), which sharply narrows the real-world attacker population. Net: a legitimate local privilege-relevant memory-safety flaw worth patching on multi-tenant/BPF-heavy hosts, but not a widespread-exploitation emergency.

Exploit ScenarioDerived

A local user with CAP_BPF (or on a system where unprivileged BPF is enabled) loads a crafted BPF program that calls a kfunc returning a rdonly_buf/rdwr_buf, passing a constant size argument whose upper 32 bits are set. The verifier truncates the size to a ~4 GiB u32 bound, then permits accesses far beyond the real allocation, giving an out-of-bounds read or write into adjacent kernel memory for information disclosure or corruption. No public proof-of-concept is identified at time of analysis.

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

Memory-safety flaw in the Linux kernel BPF verifier (CVE-2026-93125) lets a local attacker who can load BPF programs pass a rdonly_buf_size/rdwr_buf_size kfunc argument larger than U32_MAX, causing check_kfunc_args() to store the unbounded 64-bit value in meta->r0_size and check_kfunc_call() to truncate it into the 32-bit mem_size of the returned PTR_TO_MEM register; the verifier then records a roughly 4 GiB bound for a much smaller allocation, so later access checks validate against the wrong limit and permit out-of-bounds memory reads and writes (assessed confidentiality/integrity impact low, availability impact high). The assessed vector is CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H: exploitation requires local access plus either CAP_BPF (supplemented by CAP_PERFMON/CAP_SYS_ADMIN depending on program type) or a system running with kernel.unprivileged_bpf_disabled=0, and only kernels from the introducing commit eb1f7f71c126 through the fixes are affected. No public exploit code has been identified and there is no confirmed active exploitation (not listed in CISA KEV) at time of analysis, though vendor patches are available.

RemediationAI

Vendor-released patch: kernels carrying commit 56a3846830ac95a472297d0cbba75cbff29540bb or 2aaf67f0516fde29620d0edfc29c01b9ea7ad430 (https://git.kernel.org/stable/c/56a3846830ac95a472297d0cbba75cbff29540bb and https://git.kernel.org/stable/c/2aaf67f0516fde29620d0edfc29c01b9ea7ad430), which EUVD maps to the 7.3-rc1 and 7.2.6 releases - upgrade to your distribution's kernel build that includes the corresponding stable backport, and refer to https://nvd.nist.gov/vuln/detail/CVE-2026-93125 for tracking. If immediate patching is not possible, the most effective compensating control is to remove the reachability condition: set kernel.unprivileged_bpf_disabled=1 (or 2, which cannot be reverted at runtime) so unprivileged users cannot load BPF programs, accepting that this breaks unprivileged eBPF-based tooling and unprivileged container networking/observability features; alternatively restrict CAP_BPF, CAP_PERFMON and CAP_SYS_ADMIN through capability dropping, seccomp filters, or an LSM policy so that only trusted workloads can load kfunc-calling programs, with the trade-off that production eBPF telemetry, Cilium-style datapaths and profiling agents that rely on those capabilities may be disrupted. Because the defect is a verifier bookkeeping error rather than a toggleable kernel feature, there is no configuration switch that disables only the vulnerable rdonly_buf_size/rdwr_buf_size argument handling; operators should treat the kernel update as the only complete fix and monitor for unusual verifier-accepted access patterns until then. There is no vendor-released patch gap to fill here, and CISA KEV does not list this CVE, so no mandatory federal remediation deadline applies.

Affected VersionsENISA

Linux eb1f7f71c126c8fd50ea81af98f97c4b581ea4ae <56a3846830ac95a472297d0cbba75cbff29540bb
Linux eb1f7f71c126c8fd50ea81af98f97c4b581ea4ae <2aaf67f0516fde29620d0edfc29c01b9ea7ad430
Linux 6.1
Linux patch: 7.3-rc1
Linux patch: 7.2.6
Linux patch: 0

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 eBPF verifier's kfunc argument-checking path in the Linux kernel. When a BPF program calls a kfunc, check_kfunc_args() inspects the argument metadata (derived from BTF) and, for arguments named rdonly_buf_size or rdwr_buf_size, copies the 64-bit constant tracked in reg->var_off.value into meta->r0_size without any upper bound. check_kfunc_call() subsequently assigns that value to regs[BPF_REG_0].mem_size, which is a u32 field, so any constant with bits set above bit 31 is silently truncated rather than rejected at load time. The verifier therefore finalizes the kfunc's return register as PTR_TO_MEM with a mem_size of approximately 4 GiB (or another truncated value) even though the underlying allocation is far smaller. All later bounds/access checks applied to that register use the truncated, incorrect bound, which is exactly the verifier invariant that is supposed to prevent out-of-bounds access - the root-cause class is a numeric truncation/integer-width error (CWE-197 / CWE-681 family), and the description as supplied does not assign a CWE. The relevant CPE is cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*. Because the bug is in verifier bookkeeping rather than in a syscall parsing path, the practical prerequisite is the ability to load a BPF program that invokes a kfunc declaring one of these size arguments and returning PTR_TO_MEM, which the assessed vector reflects as local, low-privilege (PR:L) access with hardening-sensitive reachability.

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 6.6 MEDIUM

Local BPF load needs CAP_BPF (PR:L, AV:L), deterministic once reachable (AC:L); OOB is bounded/allocation-relative so C:L/I:L, crash/corruption dominant so A:H.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/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 6.7 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 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:

bpf: Reject rdonly/rdwr_buf_size kfunc arguments that exceed u32 max

check_kfunc_args() detects a kfunc argument named rdonly_buf_size or rdwr_buf_size and stores reg->var_off.value into meta->r0_size, a u64, and does not bound it. check_kfunc_call() later copies that value into the returned register's mem_size field:

meta->r0_size = reg->var_off.value; ... regs[BPF_REG_0].mem_size = meta.r0_size;

regs[BPF_REG_0].mem_size is u32. A constant whose upper 32 bits are set gets truncated instead of causing a load-time rejection, so the verifier records a PTR_TO_MEM register with an approximately 4 GiB mem_size for whatever allocation the kfunc returned. A later access check against that register uses the truncated, wrong bound.

Reject rdonly_buf_size/rdwr_buf_size values that exceed U32_MAX at the point meta->r0_size is set.

Executive ViewAI

Why It Matters

A memory-safety flaw in the Linux kernel's BPF verifier allows a locally authenticated user to trigger out-of-bounds memory reads and writes, with the dominant risk being host instability or crash rather than data theft. Organizations running affected kernel builds - especially multi-tenant, container, or cloud hosts where unprivileged BPF is enabled or where users hold CAP_BPF - should treat this as a high-priority availability risk, since a single local account can degrade or take down shared infrastructure. Leadership should care because the blast radius extends beyond the individual attacker's workload to every tenant or service on the same host.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
BPF kfunc mem_size path gated by CAP_BPF; niche verifier feature, not default-reachable
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
High

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
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

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