Skip to main content

Linux Kernel CVE-2026-43009

| EUVDEUVD-2026-26608 HIGH
Incorrect Calculation (CWE-682)
2026-05-01 Linux
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Recon
    Gain local access with CAP_BPF
  2. Delivery
    Craft malicious eBPF program with atomic fetch operations
  3. Exploit
    Trigger verifier state pruning via conditional branches
  4. Install
    Bypass verifier security checks
  5. C2
    Load program into kernel
  6. Execute
    Execute arbitrary kernel memory operations
  7. Impact
    Achieve privilege escalation or information disclosure

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Calculation correctness
Exploitation Conditions

Requires local access with privileges to load eBPF programs-typically CAP_BPF capability (kernel 5.8+) or CAP_SYS_ADMIN on older kernels, or unprivileged BPF enabled (kernel.unprivileged_bpf_disabled=0, disabled by default on most distributions). Attacker must construct eBPF bytecode using BPF_ATOMIC instructions with BPF_FETCH variants (atomic_fetch_add, atomic_xchg, atomic_cmpxchg) operating on stack memory, structured to create pruning points where stack precision matters. Exploitation complexity is low (AC:L) per CVSS once capability requirements are met, but requires specialized knowledge of eBPF verifier internals and state pruning algorithms. No user interaction required (UI:N). Limits exploitation: Most production systems restrict eBPF loading to root-owned system services (systemd, observability agents), not interactive users. Container runtimes typically drop CAP_BPF by default. Affects only kernels 5.12+ where atomic operations were introduced to eBPF-earlier kernels not vulnerable.

Impact

Real-world risk is moderate despite the CVSS 7.8 score. Attack vector is local (AV:L) requiring low privileges (PR:L) to load eBPF programs, limiting exposure compared to network-based attacks. Attack complexity is low (AC:L) once an attacker has eBPF loading capability, typically requiring CAP_BPF or CAP_SYS_ADMIN. The EPSS score of 0.02% (5th percentile) indicates security researchers assess exploitation probability as very low in practice, likely because exploiting verifier bugs requires deep eBPF internals knowledge and most systems restrict eBPF loading to root or specialized services. No KEV listing or public POC identified at time of analysis, suggesting no widespread or targeted exploitation campaigns. However, the CVSS impact scores (C:H/I:H/A:H) accurately reflect potential consequences-successful exploitation could allow bypassing verifier security checks, potentially leading to arbitrary kernel memory access, privilege escalation, or kernel crashes. This is a priority for systems where untrusted or semi-trusted users can load eBPF programs (container environments, multi-tenant observability platforms). Lower priority for desktop/embedded systems where only root loads eBPF. The fix is surgical (extending existing BPF_LDX handling) with low regression risk.

Exploit ScenarioDerived

An attacker with local access and CAP_BPF capability crafts a malicious eBPF program containing atomic fetch operations on stack memory followed by conditional branches depending on the fetched values. The attacker engineers two execution paths that should be verified separately but differ only in stack state at a pruning checkpoint. Due to the imprecise stack tracking, the verifier incorrectly prunes one path, allowing the attacker to bypass bounds checks or type restrictions in the unpruned path. The loaded program then accesses arbitrary kernel memory or executes privileged operations that should have been rejected. No public POC identified at time of analysis.

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

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

Alert me

AnalysisAIv1 – May 03, 2026

Linux kernel BPF verifier incorrectly prunes execution paths due to imprecise state tracking in atomic fetch operations, allowing local attackers to bypass security checks in eBPF programs. The verifier's backtracking logic fails to mark stack slots as precise when BPF_ATOMIC instructions with BPF_FETCH modify both memory and destination registers, causing two legitimately different program states to be incorrectly considered equivalent during path pruning. Vendor patches available in kernel versions 6.19.12 and 7.0. EPSS score of 0.02% (5th percentile) indicates low probability of mass exploitation, though successful exploitation grants high confidentiality, integrity, and availability impact per CVSS 7.8.

RemediationAI

Upgrade to patched Linux kernel versions 6.19.12 (stable branch) or 7.0 (mainline) which include commit 179ee84a89114b854ac2dd1d293633a7f6c8dac1 and 7ffbe45b1d227e24659998a91cfd4c27af457e71. For distributions, apply vendor-provided security updates as they backport these fixes to supported kernel series. If immediate patching is not feasible, restrict eBPF program loading to only trusted root processes by disabling unprivileged BPF (sysctl kernel.unprivileged_bpf_disabled=1) and limiting CAP_BPF/CAP_SYS_ADMIN capabilities-note this breaks legitimate unprivileged eBPF use cases like unprivileged performance monitoring. For containerized environments, use seccomp profiles blocking the bpf() syscall for untrusted containers, though this prevents all in-container observability tools relying on eBPF. Verify applied patches by checking kernel version (uname -r) against vendor security bulletins. No documented workaround fully mitigates the issue without upgrading; capability restrictions reduce attack surface but do not address the verifier flaw itself.

Affected VersionsENISA

Linux 5ca419f2864a2c60940dcf4bbaeb69546200e36f <179ee84a89114b854ac2dd1d293633a7f6c8dac1
Linux patch: 0
Linux patch: 6.19.12
Linux 5ca419f2864a2c60940dcf4bbaeb69546200e36f <7ffbe45b1d227e24659998a91cfd4c27af457e71
Linux 5.12
Linux patch: 7.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 vulnerability affects the Linux kernel's extended Berkeley Packet Filter (eBPF) verifier, specifically the precision tracking mechanism used during program validation. eBPF allows user-space programs to run sandboxed code in kernel context for networking, tracing, and security monitoring. The verifier uses state pruning as an optimization-if two program states are deemed equivalent, one branch can be skipped. Precision tracking determines which registers and stack slots must be tracked exactly versus abstractly. BPF_ATOMIC instructions with BPF_FETCH (atomic_fetch_add, atomic_xchg, atomic_cmpxchg) perform read-modify-write operations where the source register simultaneously provides input AND receives the old memory value. The backtrack_insn() function, responsible for propagating precision requirements backward through the instruction stream, only handled these as stores (src as input only), not as loads (src as destination). This caused stack slots involved in atomic fetch operations to not be marked precise, violating the verifier's invariants. Affected code paths include all BPF program types using atomic operations with fetch semantics on stack memory, introduced in kernel 5.12 when atomic operations were added to eBPF.

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
SUSE HIGH
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
May 03, 2026 - 07:22 NVD
7.8 (HIGH)
Patch released
May 03, 2026 - 07:16 nvd
Patch available
Patch available
May 01, 2026 - 16:33 EUVD
CVE Published
May 01, 2026 - 14:15 nvd
HIGH 7.8

DescriptionCVE.org

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

bpf: Fix incorrect pruning due to atomic fetch precision tracking

When backtrack_insn encounters a BPF_STX instruction with BPF_ATOMIC and BPF_FETCH, the src register (or r0 for BPF_CMPXCHG) also acts as a destination, thus receiving the old value from the memory location.

The current backtracking logic does not account for this. It treats atomic fetch operations the same as regular stores where the src register is only an input. This leads the backtrack_insn to fail to propagate precision to the stack location, which is then not marked as precise!

Later, the verifier's path pruning can incorrectly consider two states equivalent when they differ in terms of stack state. Meaning, two branches can be treated as equivalent and thus get pruned when they should not be seen as such.

Fix it as follows: Extend the BPF_LDX handling in backtrack_insn to also cover atomic fetch operations via is_atomic_fetch_insn() helper. When the fetch dst register is being tracked for precision, clear it, and propagate precision over to the stack slot. For non-stack memory, the precision walk stops at the atomic instruction, same as regular BPF_LDX. This covers all fetch variants.

Before:

0: (b7) r1 = 8 ; R1=8 1: (7b) *(u64 *)(r10 -8) = r1 ; R1=8 R10=fp0 fp-8=8 2: (b7) r2 = 0 ; R2=0 3: (db) r2 = atomic64_fetch_add((u64 *)(r10 -8), r2) ; R2=8 R10=fp0 fp-8=mmmmmmmm 4: (bf) r3 = r10 ; R3=fp0 R10=fp0 5: (0f) r3 += r2 mark_precise: frame0: last_idx 5 first_idx 0 subseq_idx -1 mark_precise: frame0: regs=r2 stack= before 4: (bf) r3 = r10 mark_precise: frame0: regs=r2 stack= before 3: (db) r2 = atomic64_fetch_add((u64 *)(r10 -8), r2) mark_precise: frame0: regs=r2 stack= before 2: (b7) r2 = 0 6: R2=8 R3=fp8 6: (b7) r0 = 0 ; R0=0 7: (95) exit

After:

0: (b7) r1 = 8 ; R1=8 1: (7b) *(u64 *)(r10 -8) = r1 ; R1=8 R10=fp0 fp-8=8 2: (b7) r2 = 0 ; R2=0 3: (db) r2 = atomic64_fetch_add((u64 *)(r10 -8), r2) ; R2=8 R10=fp0 fp-8=mmmmmmmm 4: (bf) r3 = r10 ; R3=fp0 R10=fp0 5: (0f) r3 += r2 mark_precise: frame0: last_idx 5 first_idx 0 subseq_idx -1 mark_precise: frame0: regs=r2 stack= before 4: (bf) r3 = r10 mark_precise: frame0: regs=r2 stack= before 3: (db) r2 = atomic64_fetch_add((u64 *)(r10 -8), r2) mark_precise: frame0: regs= stack=-8 before 2: (b7) r2 = 0 mark_precise: frame0: regs= stack=-8 before 1: (7b) *(u64 *)(r10 -8) = r1 mark_precise: frame0: regs=r1 stack= before 0: (b7) r1 = 8 6: R2=8 R3=fp8 6: (b7) r0 = 0 ; R0=0 7: (95) exit

Executive ViewAI

Why It Matters

CVE-2026-43009 is a Linux kernel BPF verifier flaw that allows local attackers to bypass security controls in eBPF programs through improper state tracking during atomic operations. Organizations running kernel versions prior to 6.19.12 or 7.0 face risk of privilege escalation and system compromise from authenticated local users, impacting workload isolation and container security postures.

Business Impact: High
Compensating Controls

If patching cannot be completed immediately: (1) Restrict eBPF program loading to trusted administrators only via BPF LSM policies; (2) Disable unprivileged BPF (kernel.unprivileged_bpf_disabled=2); (3) Monitor BPF program execution and verifier anomalies via seccomp/auditd; (4) Isolate systems with untrusted user access until patched. Apply vendor patch to fully resolve.

Threat Intelligence Overview

EPSS Score
0.0%
Top 95% exploitable
Data Quality
6 sources
Confidence: High

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.0%
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
Scheduled
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: High
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

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