Skip to main content

Linux Kernel EUVDEUVD-2026-86222

| CVE-2026-97409 HIGH
2026-09-24 Linux GHSA-cq4p-q6c3-fqxh
8.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    FC connectivity loss during connect
  2. Delivery
    Admin request times out in CONNECTING state
  3. Exploit
    ioerr_work aborts over uninitialized io tagset
  4. Execution
    Iterate busy requests on non-static lock
  5. Impact
    Host WARN/potential crash (DoS)

Vulnerability Assessment

Exploitation Conditions

Requires a system running the Linux kernel nvme-fc driver with actual Fibre Channel storage connectivity (e.g., lpfc HBA). The fault triggers only when a new nvme-fc controller is in CONNECTING state, the io tagset (fc_ctrl->tag_set) has not yet been initialized, and an admin request times out - typically due to FC connectivity loss during controller connect - causing ioerr_work to iterate busy requests over the uninitialized tagset. This is an internal transport/timing race, not attacker-supplied input; it cannot be triggered remotely or against a host without nvme-fc/FC hardware, which sharply limits real-world reach.

Impact

This is a Linux kernel nvme-fc (NVMe-over-Fibre-Channel) robustness bug in an error-recovery path, not an attacker-driven memory-corruption primitive. The scenario is deterministic and internal: a new controller in CONNECTING state hits an admin-request timeout (e.g., connectivity loss during connect), which schedules ctrl->ioerr_work → __nvme_fc_abort_outstanding_ios(), which iterates busy requests over the io tagset before that tagset was created (ctrl->queue_count is set early in nvme_fc_alloc_ctrl()). The observable symptom in the trace is a lockdep splat ('trying to register non-static key'), i.e., blk_mq_tagset_busy_iter() walking an uninitialized tagset - worst case a NULL/uninitialized deref crash, not disclosure. The NVD CVSS 8.8 AV:A/AC:L/PR:N/UI:N/C:H/I:H/A:H is grossly overstated: there is no adjacent-network attacker vector, no confidentiality or integrity impact, and the trigger is an FC-fabric/transport timing event during controller bring-up rather than crafted attacker input. No EPSS, no CISA KEV, and no public POC are present in the provided data. Real priority is LOW - this is a stability/lockdep fix, not an exploitable weakness. Note the conflict: CVSS asserts AV:A/PR:N/C:H/I:H but the description describes a local error-path race with no data impact - the vector should be verified/downgraded.

Exploit ScenarioDerived

During nvme-fc controller connect, a Fibre Channel connectivity loss causes the admin queue connect to fail and the admin request to time out while the controller is still in CONNECTING state and the io tagset has not yet been allocated. The resulting ioerr_work iterates busy requests over the uninitialized io tagset, producing a lockdep warning and risking a crash on the host. No public exploit code exists and there is no attacker-controlled input - the condition is a transport/timing race, not a weaponizable vector.

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 25, 2026

Error recovery in the Linux kernel's nvme-fc (NVMe-over-Fibre-Channel) transport can abort in-flight requests against an io tagset that has not yet been allocated, producing a lockdep 'trying to register non-static key' warning and faulting the error-recovery path when a newly created controller in CONNECTING state loses connectivity. Affected systems are those running kernels before 6.12.111 or 6.18.53 (the fix is also merged for the 7.2 line), specifically hosts with NVMe-over-FC hardware such as an lpfc HBA; the trigger is an admin request timeout during controller connect caused by FC link loss, so it is a local availability/robustness defect rather than an attacker-supplied input, with no public exploit identified at time of analysis. The independent assessment rates this AV:L/AC:H/PR:L with availability-only impact and high attack complexity and, notably, the published CVSS 8.8 network-adjacent score is not supported by that analysis - the practical exposure is confined to FC-attached hosts whose connect path already failed.

RemediationAI

Vendor-released patch: Linux 6.12.111 and Linux 6.18.53 (with the fix also merged into the 7.2 line). Apply the stable-branch update via your distribution's kernel package, or cherry-pick the upstream commits da930308b4bc24c335574e85ca84ff70a988cf05, dd39064d2948b14dbe4f364fe4b3c9cfc632cc21, or ee38469f88492df99e1d97f03aa40ecfd218934f from git.kernel.org; NVD's advisory page at https://nvd.nist.gov/vuln/detail/CVE-2026-97409 and the kernel stable commit pages linked in the references provide the authoritative fix detail. Because the defect only manifests when an nvme-fc controller fails during CONNECTING, there is no clean configuration workaround that removes the tagset race itself; practical compensating measures are to keep the controller in a non-connecting, cleanly reset state by avoiding automatic reconnect churn during fabric outages, to update the lpfc/FC HBA firmware and driver so connect-time connectivity-loss events are less frequent, and to treat repeated 'starting error recovery Connectivity Loss' messages paired with intractable admin queue connect failures as a signal to fence the affected path. Each of these reduces trigger frequency but does not eliminate the underlying uninitialized-tagset abort, and restricting FC fabric access would not address the bug since it is an internal error-recovery path, not a remotely reachable vector - patching is the only complete fix.

Affected VersionsENISA

Linux patch: 7.2
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <da930308b4bc24c335574e85ca84ff70a988cf05
Linux 0 <6.12.111
Linux 0 <6.18.53
Linux patch: 6.18.53
Linux patch: 6.12.111
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <dd39064d2948b14dbe4f364fe4b3c9cfc632cc21
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <ee38469f88492df99e1d97f03aa40ecfd218934f

Affected Packages

euvd linux fix: 6.12.111, 6.18.53

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 nvme-fc transport driver manages NVMe controllers attached over Fibre Channel fabrics. During nvme_fc_alloc_ctrl(), ctrl.queue_count is populated early, but the controller's blk-mq tag sets (the admin tagset and the io tagset referenced as fc_ctrl->tag_set) are created later, once the controller transitions out of CONNECTING. If an admin request times out while the controller is still CONNECTING - for example after a 'Connectivity Loss' event such as a failed lpfc admin queue connect - the timeout schedules ctrl->ioerr_work, whose handler nvme_fc_ctrl_ioerr_work() calls __nvme_fc_abort_outstanding_ios(). That function iterates both the admin and io tagsets via blk_mq_tagset_busy_iter(); because the io tagset has not been initialized, the blk-mq lock associated with it is not yet annotated, and lockdep reports 'trying to register non-static key' and disables the locking correctness validator. This is an internal initialization-ordering and error-recovery race in kernel subsystem code, not a memory-corruption primitive reachable from attacker-controlled data; the underlying class is improper initialization/use of an uninitialized object within a workqueue-driven abort path (no CWE is assigned in the source data). The fix adds a check in __nvme_fc_abort_outstanding_ios() to confirm the io tagset was created before iterating busy requests, and ensures ctrl->ioerr_work is cancelled before the io tagset is torn down.

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 8.8 HIGH
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 2.5 LOW

Local FC-transport error-path race with no attacker-controlled input (AC:H, PR:L, AV:L); no data impact (C:N/I:N), worst case a lockdep warning or crash (A:L).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE 4.4 MEDIUM
AV:L/AC:L/PR:H/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
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 25, 2026 - 05:23 NVD
8.8 (HIGH)
Patch available
Sep 24, 2026 - 17:03 EUVD
CVE Published
Sep 24, 2026 - 16:03 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 24, 2026 - 16:03 cve.org
HIGH 8.8

DescriptionCVE.org

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

nvme-fc: Do not cancel requests in io target before it is initialized

A new nvme-fc controller in CONNECTING state sees admin request timeout schedules ctrl->ioerr_work to abort inflight requests. This ends up calling __nvme_fc_abort_outstanding_ios() which aborts requests in both admin and io tagsets. In case fc_ctrl->tag_set was not initialized we see the warning below. This is because ctrl.queue_count is initialized early in nvme_fc_alloc_ctrl().

nvme nvme0: NVME-FC{0}: starting error recovery Connectivity Loss INFO: trying to register non-static key. The code is fine but needs lockdep annotation, or maybe lpfc 0000:ab:00.0: queue 0 connect admin queue failed (-6). you didn't initialize this object before use? turning off the locking correctness validator. Workqueue: nvme-reset-wq nvme_fc_ctrl_ioerr_work [nvme_fc] Call Trace: <TASK> dump_stack_lvl+0x57/0x80 register_lock_class+0x567/0x580 __lock_acquire+0x330/0xb90 lock_acquire.part.0+0xad/0x210 blk_mq_tagset_busy_iter+0xf9/0xc00 __nvme_fc_abort_outstanding_ios+0x23f/0x320 [nvme_fc] nvme_fc_ctrl_ioerr_work+0x172/0x210 [nvme_fc] process_one_work+0x82c/0x1450 worker_thread+0x5ee/0xfd0 kthread+0x3a0/0x750 ret_from_fork+0x439/0x670 ret_from_fork_asm+0x1a/0x30 </TASK>

Update the check in __nvme_fc_abort_outstanding_ios() confirm that io tagset was created before iterating over busy requests. Also make sure to cancel ctrl->ioerr_work before removing io tagset.

Executive ViewAI

Why It Matters

A defect in the Linux kernel's NVMe-over-Fibre-Channel transport can disrupt storage connectivity on hosts with NVMe-over-FC HBAs, potentially causing I/O failures and unplanned downtime during Fibre Channel link loss. Although rated HIGH with a published CVSS of 8.8, independent analysis characterizes it as a local, high-complexity availability issue with no public exploit identified at time of analysis. Organizations running affected kernels on SAN-attached NVMe-over-FC hosts should prioritize patching to maintain storage availability and avoid operational disruption.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
nvme-fc driver requires Fibre Channel HBAs, niche enterprise SAN storage
Data Quality
4 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
Scheduled
Exploitation· derived
None
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact
High

Priority Score

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

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