CVE-2026-97409
8.8 HIGHPublished 2026-09-24 · Updated 2026-09-25
AI risk analysis
- Summary
- The flaw allows a new nvme-fc controller in the CONNECTING state to trigger a warning due to uninitialized tag sets, potentially leading to locking issues and workqueue errors.
- Exploitability
- Exploitation requires a new nvme-fc controller to be in the CONNECTING state and the tag set to be uninitialized, making it moderately difficult to exploit.
- Blast radius
- If exploited, the impact could be significant, leading to system instability and potential denial of service conditions.
- Detection
- Monitor system logs for warnings related to uninitialized tag sets and workqueue errors, such as 'INFO: trying to register non-static key' and 'queue 0 connect admin queue failed (-6).'
- Prioritized remediation
- Upgrade to the specific version mentioned in the CVE, e.g., 'Upgrade to 5.10.100 or later'.
Analysis generated locally by qwen2.5:7b-instruct (no data left the box). AI-assisted — verify against primary sources before acting.
NVD 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.
CVSS vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
All references
Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.
Related CVEs
- HIGHCVE-2026-89860
- CRITICALCVE-2026-89972
- CRITICALCVE-2026-100075
- HIGHCVE-2026-13087
- HIGHCVE-2026-17052PoC
- HIGHCVE-2026-64561PoC
- HIGHCVE-2026-64562
- HIGHCVE-2026-64563
Related by shared AI tags and CWE weakness class. Browse the full archive.