Skip to main content

qla2xxx Driver CVE-2026-97527

| EUVDEUVD-2026-86835 HIGH
2026-09-25 Linux GHSA-rmg2-25hr-q94v
8.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    Local access to NVMe-FC-attached host
  2. Delivery
    Drive concurrent multiqueue FC traffic
  3. Exploit
    Race ISR add vs worker/callback delete
  4. Execution
    Corrupt unsol_ctx_head list pointers
  5. Impact
    Kernel crash / memory corruption (DoS)

Vulnerability Assessment

Exploitation Conditions

Requires a system running the Linux qla2xxx driver on a QLogic Fibre Channel HBA operating in NVMe-FC mode with a multiqueue adapter (entries added via different qpairs), which is the specific configuration that defeats the existing qp_lock serialization. The race is triggered by normal concurrent NVMe-FC traffic and internal timing (ISR add racing worker/transport/completion deletes), NOT by attacker-supplied network data - so exploitation is bounded to environments with QLogic FC SAN hardware and NVMe-over-FC storage, and is effectively a reliability/timing condition rather than a remotely-controllable one.

Impact

This is a classic case of a severely overstated CVSS score. The NVD vector CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (8.8) is inconsistent with the actual defect described: a concurrency race (CWE-362) on the per-fcport unsol_ctx_head linked list inside the qla2xxx QLogic Fibre Channel HBA driver's NVMe-FC path. AV:A (adjacent-network) is implausible - this list is manipulated only by internal driver contexts (response-queue ISR, DPC/purex worker, NVMe-FC transport callback, SRB completion), not by any attacker-controlled network input; there is no evidence a remote or adjacent attacker can steer the timing. C:H/I:H are unfounded: list-pointer corruption from a concurrent add/delete yields a crash or memory corruption (availability impact), not confidentiality or integrity compromise. There is no EPSS score, no CISA KEV listing, and no public exploit - consistent with an internally-discovered robustness/hardening fix rather than a weaponizable flaw. Realistically this is a low-priority reliability bug on a niche storage subsystem, not a security priority. Conflicting signal to flag: the 'Information Disclosure' tag directly contradicts the description, which is a race leading to list corruption (no data disclosure) - verify against vendor. My independent assessment is ~5.0 (AV:L/AC:H/PR:L/C:N/I:L/A:H).

Exploit ScenarioDerived

On a multiqueue QLogic FC adapter carrying NVMe-FC traffic, unsolicited LS contexts are added to fcport->unsol_ctx_head from the response-queue ISR on one qpair while other contexts concurrently remove entries; without a common lock the list pointers are corrupted, producing a kernel crash or memory corruption. Triggering requires precise timing under normal heavy NVMe-FC load rather than any crafted attacker input, and no public exploit or POC exists.

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

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

Alert me

AnalysisAIv1 – Sep 25, 2026

Concurrent list manipulation in the Linux kernel qla2xxx Fibre Channel driver can corrupt the per-fcport NVMe unsolicited-context list, leading to kernel instability or crashes on hosts using QLogic FC HBAs in NVMe-FC mode. The fcport->unsol_ctx_head list is mutated from four different contexts (the response-queue ISR, the DPC/purex worker, the NVMe-FC transport callback and SRB completion) without a shared lock; because multiqueue adapters add entries through different qpairs, the qpair qp_lock cannot serialize the per-fcport list, so a concurrent add/delete or two concurrent deletes can corrupt list pointers. Our independent assessment treats this as a local, high-complexity timing/reliability defect (AV:L/AC:H/PR:L/UI:N, C:N/I:L/A:H) driven by normal NVMe-FC traffic rather than attacker-supplied input - materially lower than the published 8.8 AV:A vector - and no public exploit was identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to Linux 6.18.53, 7.2.7 or 7.3-rc1 (or later) for the corresponding stable/mainline branch, or backport the three referenced stable commits b211d138cad86f749826d6132db6388eded992d8, 4d8ad6bc8cc5eff1870cef00a0d611f38f8b6bd0 and 76da0c43c63eb0496649e372ac64466364d0fe7d (https://git.kernel.org/stable/c/b211d138cad86f749826d6132db6388eded992d8, https://git.kernel.org/stable/c/4d8ad6bc8cc5eff1870cef00a0d611f38f8b6bd0, https://git.kernel.org/stable/c/76da0c43c63eb0496649e372ac64466364d0fe7d); the fix adds a per-fcport unsol_ctx_lock spinlock around all unsol_ctx_head list operations. Where the kernel cannot be updated immediately, the most effective compensating control is to eliminate the lock-granularity mismatch by forcing single-queue operation on the affected HBA (disabling qpair/multiqueue mode for the qla2xxx adapter, or pinning NVMe-FC traffic to a single queue), which lets the existing qp_lock serialize the per-fcport list - at the cost of reduced NVMe-FC I/O parallelism and throughput on the SAN path. Alternatively, avoid running NVMe-FC over qla2xxx HBAs and use SCSI/FC or a different NVMe transport until the kernel is patched; this avoids the affected code paths entirely but sacrifices NVMe-FC functionality. Because the trigger is internal ISR/worker timing rather than attacker-supplied network data, there is no meaningful firewall or network-access control that removes the risk, and scheduled HBA resets, driver unload/reload cycles or heavy concurrent LS traffic should be avoided as they increase the odds of an add/delete race. After patching, verify the running driver version via modinfo/dmesg and monitor for list-corruption symptoms (kernel oops, BUG at lib/list_debug.c, soft lockups in qla2xxx worker threads).

Affected VersionsENISA

Linux 875386b98857822b77ac7f95bdf367b70af5b78c <b211d138cad86f749826d6132db6388eded992d8
Linux patch: 7.2.7
Linux patch: 6.18.53
Linux 875386b98857822b77ac7f95bdf367b70af5b78c <76da0c43c63eb0496649e372ac64466364d0fe7d
Linux patch: 0
Linux 875386b98857822b77ac7f95bdf367b70af5b78c <4d8ad6bc8cc5eff1870cef00a0d611f38f8b6bd0
Linux patch: 7.3-rc1
Linux 6.6

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 qla2xxx driver is the in-tree Linux SCSI/FC driver for QLogic Fibre Channel host bus adapters, and it also implements the initiator/target side of NVMe over Fibre Channel (NVMe-FC). NVMe-FC uses Link Service (LS) requests and responses, and the driver tracks outstanding unsolicited LS contexts in the per-fcport linked list fcport->unsol_ctx_head. Entries are appended in qla2xxx_process_purls_iocb() from the response-queue interrupt service routine while holding the qpair's qp_lock, and removed in 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). No CWE was assigned, but the defect class is a classic race condition on shared mutable state with improper locking (CWE-362 / CWE-667 analog): the qpair-scoped qp_lock is the wrong granularity for a per-fcport list, because on multiqueue adapters different qpairs can add to the same fcport list simultaneously. The fix introduces a dedicated per-fcport spinlock, unsol_ctx_lock, initialized in qla2x00_alloc_fcport() and held around every list_add_tail()/list_del() on unsol_ctx_head; the add path nests the new lock under qp_lock, while no delete path takes qp_lock, so the lock order remains consistent and deadlock-free. The impact is memory-list corruption (dangling/looped pointers) rather than memory disclosure - integrity impact is low and the realistic outcome is a crash, hang or panic, i.e. availability loss.

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

Internal driver race with no attacker-controlled network input (AV:L), timing-dependent (AC:H), requires local host with the driver active (PR:L); impact is crash/corruption (A:H, minor I:L, C:N).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE 5.9 MEDIUM
AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
Red Hat 7.0 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 - 15:22 NVD
8.8 (HIGH)
Patch available
Sep 25, 2026 - 11:02 EUVD
CVE Published
Sep 25, 2026 - 10:21 cve.org
HIGH 8.8
CVE Published
Sep 25, 2026 - 10:21 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Organizations using QLogic Fibre Channel HBAs in NVMe-FC mode on Linux hosts face a kernel instability issue in the qla2xxx driver that can cause host crashes and disrupt storage connectivity. The defect is a local, high-complexity timing condition triggered by normal NVMe-FC traffic, and no public exploit has been identified at time of analysis. Patch available per vendor advisory, so leadership should prioritize patching affected systems to maintain availability of critical storage infrastructure.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
Linux is ubiquitous but the qla2xxx QLogic FC/NVMe-FC driver is niche SAN hardware
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.3%
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
Medium

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 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 Affected

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