Skip to main content

Linux Kernel CVE-2026-97971

| EUVDEUVD-2026-86825 HIGH
2026-09-25 Linux GHSA-7r96-j35v-9x4x
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    Local shell as unprivileged user
  2. Delivery
    Invoke listns() on denied namespace
  3. Exploit
    Trigger reference drop under RCU lock
  4. Execution
    put_mnt_ns() sleeps in atomic context
  5. Impact
    Kernel warning/hang (DoS)

Vulnerability Assessment

Exploitation Conditions

Requires local execution of the listns() syscall on a kernel new enough to include the nstree namespace-listing infrastructure (introduced at commit 76b6f5dfb3fd; present in Linux 6.19/7.x, e.g. the 7.0.0-30-generic Ubuntu build in the splat). The bug is reached on the permission-denied path where may_list_ns() refuses a candidate mount namespace whose last reference is then dropped under the RCU read lock. Limiting factors: the vulnerable listns()/nstree code exists only in bleeding-edge kernels, so nearly all production LTS/stable deployments are unaffected; impact is confined to a kernel warning/voluntary-context-switch (most impactful with PREEMPT), and requires an already-authenticated local user (PR:L) with no confidentiality or integrity consequence.

Impact

This is a local, low-complexity denial-of-service bug in the Linux kernel's new nstree/listns() namespace-listing infrastructure. The vendor CVSS of 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) is overstated: the described defect is a sleep-in-atomic violation - legitimize_ns() takes a namespace reference before may_list_ns() authorizes visibility, and the denied-path __free(ns_put) cleanup can drop the last reference to a mount namespace while the RCU read lock is still held, causing put_mnt_ns() → namespace_unlock() → synchronize_rcu_expedited() to sleep inside an RCU read-side critical section. The splat is a WARNING/voluntary-context-switch, i.e. a stability/DoS impact under PREEMPT, not a confidentiality or integrity compromise, so the claimed C:H/I:H is not supported by the description. No EPSS score, no CISA KEV listing, and no public exploit are present in the input, so exploitation status is: no public exploit identified at time of analysis. SSVC framework data was not provided. Net real-world priority is LOW-to-MODERATE: it is locally triggerable by an unprivileged user but yields only a crash/hang on a very new kernel line, not code execution or data theft. Note the conflict: the 'Information Disclosure' tag contradicts the actual sleep-in-atomic/DoS nature of the flaw (C should be N).

Exploit ScenarioDerived

A local unauthenticated-to-the-box but logged-in unprivileged user (the reproducer runs as UID 1000) invokes the listns() syscall in a way that hits the permission-denied path for a candidate mount namespace. The kernel drops the last namespace reference while still holding the RCU read lock, sleeps in synchronize_rcu_expedited(), and triggers a warning/hang, degrading or crashing the system. No public proof-of-concept is identified in the provided data, though the description includes a full kernel splat.

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

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

Alert me

AnalysisAIv1 – Sep 25, 2026

Local denial of service in the Linux kernel's newly introduced nstree/listns() namespace-listing infrastructure, where the kernel takes a reference on a candidate mount namespace before the caller's permission to see it has been checked, so on the denial path the final reference can be dropped inside an RCU read-side critical section and put_mnt_ns() may sleep there. Only kernels new enough to contain the nstree code (introduced by commit 76b6f5dfb3fd, present in Linux 6.19 and 7.x builds such as the 7.0.0-30-generic Ubuntu kernel in the reported splat) are affected, and triggering requires a local, already-authenticated user (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H per our assessment - no confidentiality impact and only low integrity impact, far below the formally published 7.8 vector) who can invoke listns(). The result is a 'Voluntary context switch within RCU read-side critical section' splat that can escalate to an RCU stall or hang on affected kernels; no public exploit has been identified at time of analysis and there is no KEV listing.

RemediationAI

Vendor-released patches are available: upgrade to Linux 7.2.7 or to 7.3-rc3 (or later), which contain the corrected ordering that performs ns_requested() and may_list_ns() checks first and takes the namespace reference last; stable backports of the fix can be applied from https://git.kernel.org/stable/c/56ea4e86832d8abe8930394473566c194d189f85 and https://git.kernel.org/stable/c/9e673bf5d88aa898e52cef5c87058c3fa845bc71, and the vendor advisory is reachable via https://nvd.nist.gov/vuln/detail/CVE-2026-97971. Because exploitation requires a local, authenticated user (PR:L in the assessed vector), priority should track whether untrusted local code or low-privilege accounts can run on affected 6.19/7.x kernels; the practical compensating control is to filter the listns() syscall with a seccomp allowlist for workloads that do not need namespace introspection, at the cost of breaking container-runtime and debugging tooling that legitimately enumerates namespaces, so this should be scoped per-workload rather than applied host-wide. KPTI-style or parameter workarounds are not applicable here, and disabling the syscall solely at the libc level is insufficient since the syscall can be issued directly; the only complete fix is the kernel patch, so treat any non-upgraded 6.19/7.x kernel as exposed to an RCU-stall/hang denial of service from an authenticated local user. No vendor-released patch is missing for the affected branches, so no unsupported compensating control is needed once the listed versions are deployed.

Affected VersionsENISA

Linux patch: 0
Linux patch: 7.2.7
Linux 76b6f5dfb3fda76fce1f9990d6fa58adc711122b <56ea4e86832d8abe8930394473566c194d189f85
Linux patch: 7.3-rc3
Linux 6.19
Linux 76b6f5dfb3fda76fce1f9990d6fa58adc711122b <9e673bf5d88aa898e52cef5c87058c3fa845bc71

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 bug lives in the kernel's namespace-listing plumbing behind the listns() syscall, a fairly recent addition (baseline commit 76b6f5dfb3fd) that lets a task enumerate namespaces it is permitted to see. The helper legitimize_ns() was acquiring an ns reference (an ns_put-backed __free() cleanup) on each candidate namespace before may_list_ns() had decided whether the caller is allowed to observe it; when the permission check denies the candidate, the cleanup attribute immediately drops that reference, and if it was the last reference to a mount namespace, put_mnt_ns() runs and can sleep (namespace_unlock() leading to synchronize_rcu_expedited() and mutex_lock()) while the caller is still inside an RCU read-side critical section. That is exactly the pattern previously corrected for the put_user() path by commit 2ec2aff3c8e2 ('ns: make sure reference are dropped outside of rcu lock'), making this a regression of the same class rather than a novel one. No CWE identifier is assigned in the supplied data; the root-cause class is a sleep/scheduling-while-atomic condition (scheduling inside an RCU read-side critical section) arising from an incorrect ordering of a permission check and a reference-count acquisition, with the reference-lifetime cleanup attribute acting as the trigger. The trace confirms the reachable path do_listns() -> mntns_put() -> put_mnt_ns() -> namespace_unlock() -> synchronize_rcu_expedited() under the RCU read lock, and the failure mode is most readily observed on PREEMPT kernels.

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

Local unprivileged syscall (AV:L/PR:L), deterministic on the denied path (AC:L); impact is a crash/hang (A:H) with no data exposure (C:N) and only minor kernel-state integrity effect (I:L).

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/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 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
Sep 25, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Sep 25, 2026 - 11:02 EUVD
CVE Published
Sep 25, 2026 - 10:23 cve.org
HIGH 7.8
CVE Published
Sep 25, 2026 - 10:23 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

nstree: check listing permission before taking a namespace reference

legitimize_ns() takes a reference on the candidate namespace before may_list_ns() has decided whether the caller may see it. The __free(ns_put) cleanup on the denied path can drop the last reference to a mount namespace while we still hold the rcu read lock, and put_mnt_ns() may sleep there. This is the same problem commit 2ec2aff3c8e2 ("ns: make sure reference are dropped outside of rcu lock") fixed for the put_user() path. Neither ns_requested() nor may_list_ns() needs a reference, both only look at the namespace type and at the caller's own namespaces, so do the checks first and take the reference last.

Splat:

Voluntary context switch within RCU read-side critical section! WARNING: kernel/rcu/tree_plugin.h:332 at rcu_note_context_switch+0x238/0x2a0, CPU#5: a/3442 CPU: 5 UID: 1000 PID: 3442 Comm: a Not tainted 7.0.0-30-generic #30-Ubuntu PREEMPT(lazy) RIP: 0010:rcu_note_context_switch+0x238/0x2a0 Call Trace: <TASK> __schedule+0xcf/0x650 schedule+0x27/0x90 schedule_preempt_disabled+0x15/0x30 __mutex_lock.constprop.0+0x550/0xaf0 __mutex_lock_slowpath+0x13/0x20 mutex_lock+0x3b/0x50 exp_funnel_lock+0xb2/0x260 synchronize_rcu_expedited+0xe7/0x220 namespace_unlock+0x26a/0x320 put_mnt_ns+0xd3/0x120 mntns_put+0xe/0x20 do_listns+0x13e/0x560 __do_sys_listns+0x126/0x2d0 __x64_sys_listns+0x20/0x30 x64_sys_call+0x2366/0x2390 do_syscall_64+0x105/0x5a0 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK>

Executive ViewAI

Why It Matters

A local denial-of-service vulnerability in the Linux kernel's new namespace-listing code affects systems running Linux 6.19 or 7.x, including Ubuntu 7.0.0-30-generic. An authenticated local user could trigger a kernel hang or RCU stall, disrupting availability for all users on the affected host. While no public exploit has been identified at the time of analysis, organizations with these bleeding-edge kernels should prioritize patching to maintain service uptime.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
affects only the new listns/nstree code in 6.19/7.x kernels, barely deployed
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.1%
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
Medium

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
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
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

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