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

scsi: qla2xxx: Serialize NVMe unsol ctx list with a per-fcport lock

The fcport->unsol_ctx_head list is modified from several contexts without
a common lock. Entries are added in qla2xxx_process_purls_iocb() from the
response queue ISR (under the qpair qp_lock), while they are removed from
qla2xxx_process_purls_pkt() (DPC/purex worker), qla_nvme_xmt_ls_rsp()
(NVMe-FC transport callback) and qla_nvme_release_lsrsp_cmd_kref() (SRB
completion). The qpair qp_lock cannot serialize this per-fcport list since
multiqueue adapters add entries through different qpairs, so a concurrent
add and delete (or two concurrent deletes) can corrupt the list pointers.

Introduce a dedicated per-fcport spinlock, unsol_ctx_lock, initialized in
qla2x00_alloc_fcport(), and take it around every list_add_tail()/list_del()
on unsol_ctx_head. The add nests under the existing qp_lock; no delete path
takes qp_lock, so the lock order is consistent and deadlock free.
Published: 2026-09-25
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel data corruption
Action: Patch
AI Analysis

Impact

The qla2xxx SCSI driver for Linux contains a race condition in its handling of the NVMe‑FC unsolicited context list. This race condition is a form of improper synchronization, classified as CWE‑366. Entries in the unsol_ctx_head list are added and removed from multiple contexts without a common synchronisation primitive. Since the qp_lock does not serialize modifications made by different qpair threads, a concurrent add and delete (or two deletes) can corrupt the list pointers, which may cause the driver to crash or trigger a kernel fault.

Affected Systems

Linux kernel builds that ship the qla2xxx driver containing the legacy NVMe‑FC implementation are affected. The vulnerability exists in any kernel version prior to the commit that introduced a dedicated per‑fcport spinlock; the fix is present in releases that incorporate that change. Any host using a QLogic QLA2XXX Fibre Channel adapter and running affected kernel versions, especially those exposed to NVMe‑FC traffic, is susceptible.

Risk and Exploitability

The CVSS score of 8.8 indicates a high severity for potential denial of service or kernel instability. The EPSS score is less than 1 % and the vulnerability is not listed in CISA KEV, which suggests that public exploitation is currently uncertain. The likely attack vector is from a host that can issue NVMe‑FC commands to the QLogic controller—such as a local access or a remote system able to communicate over Fibre Channel. The description does not state that arbitrary code execution is achievable; the primary consequence inferred is kernel data corruption and possible system crash.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the kernel patch that corrects the race condition (CWE‑366) in the qla2xxx driver—e.g., upgrade to the latest stable release containing the per‑fcport spinlock fix.
  • If an immediate kernel upgrade is not available, temporarily stop NVMe‑FC traffic on the affected port or unload the qla2xxx driver to prevent list modifications that may lead to corruption and mitigate the race‑condition risk (CWE‑366).
  • Implement kernel hardening measures, such as enabling KASLR and applying recent security updates, to reduce the risk of exploitation of race‑condition vulnerabilities (CWE‑366).

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6568-1 linux security update
History

Wed, 21 Oct 2026 13:15:00 +0000


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


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


Fri, 25 Sep 2026 15:00: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 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Serialize NVMe unsol ctx list with a per-fcport lock The fcport->unsol_ctx_head list is modified from several contexts without a common lock. Entries are added in qla2xxx_process_purls_iocb() from the response queue ISR (under the qpair qp_lock), while they are removed from qla2xxx_process_purls_pkt() (DPC/purex worker), qla_nvme_xmt_ls_rsp() (NVMe-FC transport callback) and qla_nvme_release_lsrsp_cmd_kref() (SRB completion). The qpair qp_lock cannot serialize this per-fcport list since multiqueue adapters add entries through different qpairs, so a concurrent add and delete (or two concurrent deletes) can corrupt the list pointers. Introduce a dedicated per-fcport spinlock, unsol_ctx_lock, initialized in qla2x00_alloc_fcport(), and take it around every list_add_tail()/list_del() on unsol_ctx_head. The add nests under the existing qp_lock; no delete path takes qp_lock, so the lock order is consistent and deadlock free.
Title scsi: qla2xxx: Serialize NVMe unsol ctx list with a per-fcport lock
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-21T12:53:02.776Z

Reserved: 2026-09-24T16:01:01.152Z

Link: CVE-2026-97527

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:02.873

Modified: 2026-10-21T13:21:11.907

Link: CVE-2026-97527

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-97527 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T14:00:10Z

Weaknesses
  • CWE-366

    Race Condition within a Thread