Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain CAP_BPF / BPF load access
-
DeliveryLoad sleepable BPF program holding kptr under spin lock
-
ExploitRelease final bpf_spin_unlock leaving stale RCU pointer
-
ExecutionRace another CPU to free object
-
PersistReallocate slab with controlled data
-
ImpactCorrupt task_struct/creds for root
Vulnerability Assessment
| Exploitation Conditions | Requires the ability to load and run sleepable BPF programs, which needs CAP_BPF (unprivileged BPF is disabled by default on most current distributions), so it is a local, privileged-foothold bug rather than remote. The specific trigger is a sleepable program where a bpf_spin_lock provides the sole RCU protection for a kptr and the pointer is used after the final bpf_spin_unlock(); non-sleepable programs and code inside an explicit RCU read-side section are not affected. Reliable exploitation additionally requires winning a cross-CPU race to free and reallocate the object (heap grooming) within the window, which limits ease of exploitation despite the powerful task_struct UAF primitive. |
| Impact | This is a genuine local privilege-escalation primitive, not a mere crash bug. The BPF verifier fails to invalidate an RCU-protected kernel pointer (kptr) after the final bpf_spin_unlock() in a sleepable program, where that spin lock was the only source of RCU protection; the object can then be freed on another CPU while the pointer remains usable, and the report explicitly demonstrates a task_struct use-after-free in __bpf_get_task_stack(). A task_struct UAF is a classic, highly controllable path to overwriting credentials and achieving root, so the vendor's C:H/I:H/A:H impact is justified - unlike many kernel UAFs that are crash-only. The vendor CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U, 7.8) is largely defensible, but AC:L understates the cross-CPU free race that must be won; I assess AC:H, yielding ~7.0. PR:L is appropriate because loading and running sleepable BPF programs requires CAP_BPF (and unprivileged BPF is disabled by default on most modern distros), so this is not attacker-reachable without a foothold and BPF capability. No EPSS, no CISA KEV entry, and no public exploit - the description references a private 'capability-limited runtime PoC' held by the reporter, which is not the same as public exploit code or active exploitation. Net: a real, high-value local escalation bug worth prompt patching on any host exposing BPF to semi-trusted workloads, but its reach is bounded by the CAP_BPF requirement and the specific sleepable-program feature combination. |
| Exploit ScenarioDerived | An attacker with CAP_BPF (or in a container/runtime granted BPF load rights) loads a sleepable BPF program that stashes a task_struct kptr protected only by a bpf_spin_lock, releases the lock, and then races another CPU to free the object while the stale pointer is still used by __bpf_get_task_stack(). By grooming the freed slab and reallocating it with attacker-controlled data, the UAF is converted into arbitrary kernel read/write and credential overwrite for local privilege escalation. A private capability-limited PoC is reported to trigger the task_struct UAF, but no public exploit code was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Local privilege escalation in the Linux kernel BPF verifier allows an attacker holding CAP_BPF to obtain a use-after-free of a task_struct by loading a sleepable BPF program in which a bpf_spin_lock is the only RCU protection for a kernel pointer (kptr): the verifier leaves the pointer valid after the final bpf_spin_unlock(), so another CPU can free and reallocate the object before the stale pointer is dereferenced in __bpf_get_task_stack(). Exploitation requires the ability to load sleepable BPF programs (unprivileged BPF is disabled by default on most current distributions) and the ability to win a cross-CPU race for heap grooming, which makes this a genuine but non-trivial local privilege-escalation primitive rather than a trivially weaponizable bug. A capability-limited runtime proof-of-concept is described in the upstream fix commit, no confirmed active exploitation or KEV listing is present, and vendor patches are available through the referenced kernel stable commits.
RemediationAI
Apply the vendor-released kernel fix: update to a release containing commit 7ae71629357d0a6d0bdadb929c7b296d5b7e61c2 (with 180c7000712db77063b3a26f4c97e7dd9038f449 for the other maintained branch), corresponding to the EUVD-recorded Linux 7.2.6 and 7.3-rc1 tags, or install the equivalent backport from your distribution's kernel security advisory; details are at https://git.kernel.org/stable/c/7ae71629357d0a6d0bdadb929c7b296d5b7e61c2, https://git.kernel.org/stable/c/180c7000712db77063b3a26f4c97e7dd9038f449 and https://nvd.nist.gov/vuln/detail/CVE-2026-90317. Because the defect already presupposes the ability to load sleepable BPF programs, the practical compensating control is to keep or set kernel.unprivileged_bpf_disabled=1 (the default on most current distributions) so that BPF program loading requires CAP_BPF/CAP_SYS_ADMIN, which denies the primitive to unprivileged local users; the trade-off is that container runtimes and monitoring agents that rely on unprivileged BPF or on delegated CAP_BPF will stop working, and the setting offers no protection against an attacker who already holds CAP_BPF. Tightening BPF LSM/lockdown policy or reducing which local accounts are granted CAP_BPF shrinks the exposure window but does not eliminate the stale-pointer path, so patching remains the only complete fix; additionally, watch kernel logs for KASAN/KFENCE reports in __bpf_get_task_stack() and audit for unexpected BPF program loads (especially sleepable tracing/LSM programs) as detection signals, since the described proof-of-concept is capability-limited and local.
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 flaw sits in the eBPF verifier's lifetime tracking for kptr values (kernel pointers stored in BPF maps and held under RCU protection) rather than in a memory-safety bug in the BPF JIT. In sleepable BPF programs the implicit program-wide RCU read lock of ordinary (non-sleepable) programs is absent, so a bpf_spin_lock region can be the verifier's only RCU-protected context; when the program performs the final bpf_spin_unlock(), that protection ends, yet the verifier did not mark the associated RCU-protected pointer invalid, letting a concurrent CPU free and reuse the underlying object before the pointer is consumed. The fix records whether the program is in an RCU-protected context before releasing the lock and invalidates RCU-protected pointers only when the unlock leaves the last such context, deliberately preserving pointer validity in non-sleepable programs and inside an explicit RCU read-side section. The observed manifestation is a use-after-free in __bpf_get_task_stack(), the helper that reads task_struct data, matching the tag 'Information Disclosure' while the affected product data is given as CPE cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*; no CWE is provided, and the root-cause class corresponds to CWE-416 (Use After Free) arising from incomplete pointer-lifetime validation in the verifier. Because the corrupted object is a task_struct, the primitive also carries data-integrity and confidentiality impact (CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H).
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:H/I:H/A:H
Local CAP_BPF-gated access (AV:L/PR:L); cross-CPU free race raises AC:H; controllable task_struct UAF enables full LPE, so C:H/I:H/A:H.
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
4DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
bpf: Invalidate RCU pointers after final spin unlock
In a sleepable BPF program, a spin lock can provide the only RCU protection for a kptr. The final bpf_spin_unlock() ends that protection, but the verifier leaves the pointer valid. Another CPU can then free the object before the pointer is used. A capability-limited runtime PoC triggered a task_struct use-after-free in __bpf_get_task_stack().
Record whether the program is in an RCU-protected context before releasing the lock. Invalidate RCU-protected pointers only when the unlock leaves the final such context. This preserves valid pointers in non-sleepable programs and inside an explicit RCU read-side section.
Executive ViewAI
Organizations running Linux kernels with BPF enabled and granting CAP_BPF to workloads or containers face a local privilege-escalation risk from CVE-2026-90317, which can allow an attacker to elevate privileges on the host. Although no confirmed active exploitation (CISA KEV) is present and exploitation requires a race and CAP_BPF, publicly available exploit code exists (a capability-limited runtime proof-of-concept), so unpatched multi-tenant or container environments remain exposed. Leadership should prioritize patching because a successful exploit could break host isolation and expand an attacker’s access across critical workloads.
Apply vendor patch.
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
Vendor StatusVendor
SUSE
Severity: Important| 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 |
| SUSE Linux Enterprise High Availability Extension 16.0 | Affected |
| SUSE Linux Enterprise High Availability Extension 16.1 | Affected |
| SUSE Linux Enterprise High Availability Extension 16.1 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Real Time 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro Extras 6.0 | Affected |
| SUSE Linux Micro Extras 6.0 | Affected |
| SUSE Linux Micro Extras 6.0 | Affected |
| SUSE Linux Micro Extras 6.1 | Affected |
| SUSE Linux Micro Extras 6.1 | Affected |
| SUSE Real Time Module 15 SP7 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 12 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | Affected |
| SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | Affected |
| SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | Affected |
| SUSE Linux Enterprise Server 12 SP5 | Affected |
| SUSE Linux Enterprise Server 12 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 12 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | Affected |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE CaaS Platform 4.0 | Affected |
| SUSE Enterprise Storage 6 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise Desktop 11 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP1 | Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Micro 5.0 | Affected |
| SUSE Linux Enterprise Micro 5.1 | Affected |
| SUSE Linux Enterprise Micro 5.2 | Affected |
| SUSE Linux Enterprise Micro 5.2 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP1 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP3 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP1 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Real Time 15 SP5 | Affected |
| SUSE Linux Enterprise Server 11 SP4 | Affected |
| SUSE Linux Enterprise Server 11 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP1 | Affected |
| SUSE Linux Enterprise Server 15 SP1-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Manager Proxy 4.0 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.0 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.0 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| SUSE Real Time Module 15 SP4 | Affected |
| SUSE Real Time Module 15 SP5 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-81978
GHSA-6jx2-qmxh-94v4
NVD
CVE.org
EPSS
Exploit-DB