Description
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.
Published: 2026-09-24
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel Instability (possible crash)
Action: Patch promptly
AI Analysis

Impact

A fault in the Linux kernel NVMe‑FC driver causes the system to attempt to abort I/O requests while the controller’s tag set has not yet been initialized. When a controller enters the CONNECTING state and an administrative request times out, the background work routine triggers a routine that walks both administrative and I/O tagsets. Because the tag set is uninitialized at that point, the routine logs a warning. The kernel warning indicates that an attempt was made to use a resource that was not properly initialized, which could lead to an unstable kernel state. The vulnerability’s severity is reflected in a high CVSS score of 8.8, suggesting that exploitation could impact kernel integrity.

Affected Systems

The flaw exists in the Linux kernel NVMe‑FC driver. Any Linux kernel build that includes NVMe‑FC support and has not yet incorporated the patch from the commits referenced in the advisory is potentially vulnerable. The affected kernel releases are not explicitly listed, so administrators should verify whether their kernel version is older than the commit dates provided in the advisory references.

Risk and Exploitability

The exploit path requires interaction with the NVMe‑FC subsystem; the description implies an attacker must trigger the administrative timeout path, possibly via local interface access or an application that communicates over Fibre Channel. The EPSS score of < 1% indicates a very low exploitation probability, and the vulnerability is not listed in the CISA KEV catalog. However, the kernel‑level nature and a high CVSS score of 8.8 mean that, once the flaw is triggered, it can lead to kernel instability. The risk remains significant until the patch is applied.

Generated by OpenCVE AI on October 1, 2026 at 15:48 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that contains the fix from the referenced commits
  • If an immediate upgrade is not feasible, reset the affected NVMe‑FC controller (e.g., using "nvme reset" or power cycling the controller) to clear any pending error work
  • Continuously monitor system logs for "nvme-fc" warnings and avoid using NVMe over Fibre Channel until the kernel fix is applied

Generated by OpenCVE AI on October 1, 2026 at 15:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Sat, 03 Oct 2026 11:15:00 +0000


Tue, 29 Sep 2026 13:15:00 +0000


Sat, 26 Sep 2026 02:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-664

Fri, 25 Sep 2026 11:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Fri, 25 Sep 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Fri, 25 Sep 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Thu, 24 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Description 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.
Title nvme-fc: Do not cancel requests in io target before it is initialized
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-03T10:58:03.480Z

Reserved: 2026-09-24T14:53:16.867Z

Link: CVE-2026-97409

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T17:17:18.463

Modified: 2026-10-03T11:17:53.063

Link: CVE-2026-97409

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-24T00:00:00Z

Links: CVE-2026-97409 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T16:00:11Z

Weaknesses
  • CWE-664

    Improper Control of a Resource Through its Lifetime

  • CWE-908

    Use of Uninitialized Resource