Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain local access with eBPF load capability
-
ExploitCraft BPF program with zero spill then partial dead read
-
ExecutionVerifier downgrades spill, breaks precision tracking
-
ImpactTrigger kernel availability impact (crash/DoS)
Vulnerability Assessment
| Exploitation Conditions | Exploitation requires local code execution with the privilege to load eBPF programs - typically CAP_BPF or CAP_SYS_ADMIN, or a system where unprivileged eBPF is enabled (kernel.unprivileged_bpf_disabled=0). The attacker must additionally craft a specific stack-access pattern: a scalar zero spill to the stack, an intervening verifier checkpoint, and a subsequent partial (sub-register) read that leaves part of the slot dead, which is what triggers the faulty STACK_ZERO downgrade. Limiting factors: no remote vector (AV:L), no network exposure, and systems that disable unprivileged BPF and restrict CAP_BPF/CAP_SYS_ADMIN sharply reduce the exposed attacker population; there is no user-interaction requirement (UI:N). |
| Impact | This is a Linux kernel eBPF verifier flaw where __clean_func_state() downgrades a half-dead scalar zero spill to STACK_ZERO, breaking precision-propagation chains in the verifier. The vendor CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, base 5.5) models a LOCAL, low-privileged attacker achieving availability impact only (C:N/I:N) - i.e. a denial-of-service/kernel-crash profile, NOT remote code execution. Supporting signals point to a low real-world priority: EPSS is 0.16% (4th percentile), there is no CISA KEV listing, and no public PoC is referenced. CONFLICT TO NOTE: the input 'Information Disclosure' tag contradicts the CVSS vector, which sets C:N (no confidentiality impact) - verifier precision bugs can in principle be escalated toward unsafe reads, but the authoritative vector here scopes impact to availability, so the 'Information Disclosure' label should be treated as unverified. Net assessment: a genuine but low-urgency local DoS/correctness bug that matters mainly for multi-tenant or untrusted-eBPF hosts; it is not a widespread-exploitation priority. Verify the true impact class (DoS vs. info-leak) with the kernel maintainers, as the tag and CVSS disagree. |
| Exploit ScenarioDerived | A local, low-privileged user permitted to load eBPF programs (e.g. via CAP_BPF/CAP_SYS_ADMIN or an environment with unprivileged BPF enabled) crafts a BPF program that writes a 64-bit zero spill, passes a verifier checkpoint, then performs a narrow partial read so four bytes become 'dead.' The broken precision propagation causes the verifier to mis-track scalar state, which can lead to acceptance of an otherwise-unsafe program and a resulting kernel availability impact. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Denial of service in the Linux kernel eBPF verifier allows a local attacker with low privileges (PR:L) to craft a BPF program containing a scalar zero spill, a verifier checkpoint, and a partial stack read, causing __clean_func_state() to incorrectly downgrade a half-dead slot to STACK_ZERO and break precision-propagation chains. The flaw is scored CVSS 5.5 (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H), so the primary impact is availability, and exploitation requires the ability to load eBPF programs (CAP_BPF, CAP_SYS_ADMIN, or unprivileged BPF enabled). No public exploit identified at time of analysis; EPSS is low at 0.16% (4th percentile), and vendor patches are available in Linux 7.2.7 and 7.3-rc2.
RemediationAI
Vendor-released patch: upgrade to Linux 7.2.7 or 7.3-rc2, or apply the stable commits 436fa689630b741a77ef8c4a6f426479affd5bac and 2f3536bff8823d3c5fdbbe15e17bfca696cc2b2e from git.kernel.org. Until patching, restrict the ability to load eBPF programs: set kernel.unprivileged_bpf_disabled=1 (or 2) to disable unprivileged BPF, and limit CAP_BPF/CAP_SYS_ADMIN to trusted administrators; these controls reduce the exposed population but can break legitimate BPF-based monitoring, networking, and security tooling. No public exploit identified at time of analysis; EPSS is 0.16% (4th percentile).
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 Linux kernel eBPF verifier statically validates BPF programs before execution to prevent unsafe memory accesses and ensure termination. In states.c, __clean_func_state() handles cleanup of verifier state and can mark stack slots as STACK_ZERO, which tells the verifier that an entire 8-byte stack slot is known zero. The bug occurs when a 64-bit zero spill is partially overwritten by liveness: after a checkpoint and a 32-bit read that leaves the lower half dead, the verifier previously converted the spill to STACK_ZERO even though only part of the slot remains live, producing a mixed 0000pppp state (poison for dead bytes) and corrupting precision propagation chains. The upstream fix avoids converting zero spills to STACK_ZERO entirely, rather than calling bpf_mark_chain_precision() from __clean_func_state() or checking slot liveness in check_stack_write_fixed_off(). CPE data maps the issue to the Linux kernel (cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*); CWE is not assigned in the input. EUVD lists Linux 7.1 as affected and stable fixes in 7.2.7 and 7.3-rc2.
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
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Local eBPF loading needs privilege (PR:L, AV:L); crafting the trigger program is within attacker control (AC:L); confirmed impact is availability only (A:H, C:N/I:N).
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
4DescriptionNVD
In the Linux kernel, the following vulnerability has been resolved:
bpf: don't downgrade half-dead scalar zero spills to STACK_ZERO
states.c:__clean_func_state() can downgrade scalar zero spill to STACK_ZERO in the following case:
*(u64 *)(r10 - 8) = 0; ... checkpoint ... r1 = *(u32 *)(r10 - 4); ... no reads from r10-8 ...
Here 4 bytes at r10-8 are dead and verifier changes scalar spill to a combination: 0000pppp (p stands for poison). Such a change breaks precision propagation chains. All places that produce STACK_ZERO should call bpf_mark_chain_precision() for the zero source.
This patch fixes the bug in a simplest way possible: avoids converting stack spills of zero to STACK_ZERO. Two smarter approaches are possible:
- do bpf_mark_chain_precision() from __clean_func_state()
- check slot liveness information in check_stack_write_fixed_off()
I investigated both and the changes required are a bit tricky, hence go with a simple fix for the time being.
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.
EUVD-2026-86963
GHSA-6rp4-m24m-77pj
NVD
CVE.org
EPSS
Exploit-DB