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

scsi: qla2xxx: Fix use-after-free of qpair work on queue teardown

The response queue MSI-X handler qla2xxx_msix_rsp_q() schedules
qla_do_work() via queue_work(ha->wq, &qpair->q_work). qla_do_work()
dereferences the qpair (vha, rsp) and takes qpair->qp_lock.

During teardown, qla2xxx_delete_qpair() deletes the response queue, which
calls free_irq() in qla25xx_free_rsp_que(), and then frees the queue and
the qpair. free_irq() waits for running hardirq handlers but does not
cancel work already placed on ha->wq. A still-pending q_work then runs
qla_do_work() against the freed qpair and response queue, causing a
use-after-free. This is especially likely during full adapter teardown,
where destroy_workqueue(ha->wq) forces pending work to run after the queue
pairs have been freed.

Flush the work item with cancel_work_sync() in qla25xx_free_rsp_que()
after free_irq() has released the interrupt (so no new work can be
queued) and before the response queue and qpair memory are freed (so the
flushed handler still sees valid memory). Guard on rsp->qpair and ha->wq
to match the INIT_WORK() condition and avoid operating on an
uninitialized work_struct.
Published: 2026-09-25
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Arbitrary kernel code execution via use‑after‑free in the qla2xxx SCSI driver
Action: Patch Immediately
AI Analysis

Impact

The vulnerability arises when the qla2xxx driver schedules a work item that later dereferences a qpair structure that has already been freed during adapter teardown. Because the work remains queued on the workqueue when the driver frees the qpair and the response queue, the executed work can access invalid memory. This use‑after‑free can lead to kernel memory corruption, potentially allowing an attacker to execute arbitrary code or to crash the system. The weakness is a classic use‑after‑free flaw (CWE‑825).

Affected Systems

Any Linux kernel that incorporates the qla2xxx SCSI driver before the patch commit is susceptible. The advisory does not list specific kernel releases, so any unpatched kernel that has included the legacy qla2xxx code might be affected. The vulnerability is present only when the driver is active.

Risk and Exploitability

The CVSS score of 7.5 classifies it as high severity, and the EPSS score of <1% indicates a low probability of exploitation under current conditions. The vulnerability is not in CISA’s KEV catalog. Based on the description, it is inferred that an attacker would require local or privileged access to a system running the affected driver and the ability to influence the freed memory region. Accordingly, the risk is moderate for systems that rely on qla2xxx SCSI, but a remote attacker would need prior compromise or administrative foothold.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the cancel_work_sync fix for the qla2xxx driver
  • If an upgrade is not possible, ensure the driver calls cancel_work_sync on the workqueue during adapter teardown before freeing the resources
  • Monitor system stability and kernel logs for signs of kernel panics or crashes that may indicate residual use‑after‑free conditions

Generated by OpenCVE AI on October 1, 2026 at 13:45 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


Thu, 01 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

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


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

Type Values Removed Values Added
Weaknesses CWE-416

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

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:A/AC:H/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: Fix use-after-free of qpair work on queue teardown The response queue MSI-X handler qla2xxx_msix_rsp_q() schedules qla_do_work() via queue_work(ha->wq, &qpair->q_work). qla_do_work() dereferences the qpair (vha, rsp) and takes qpair->qp_lock. During teardown, qla2xxx_delete_qpair() deletes the response queue, which calls free_irq() in qla25xx_free_rsp_que(), and then frees the queue and the qpair. free_irq() waits for running hardirq handlers but does not cancel work already placed on ha->wq. A still-pending q_work then runs qla_do_work() against the freed qpair and response queue, causing a use-after-free. This is especially likely during full adapter teardown, where destroy_workqueue(ha->wq) forces pending work to run after the queue pairs have been freed. Flush the work item with cancel_work_sync() in qla25xx_free_rsp_que() after free_irq() has released the interrupt (so no new work can be queued) and before the response queue and qpair memory are freed (so the flushed handler still sees valid memory). Guard on rsp->qpair and ha->wq to match the INIT_WORK() condition and avoid operating on an uninitialized work_struct.
Title scsi: qla2xxx: Fix use-after-free of qpair work on queue teardown
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:11.632Z

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

Link: CVE-2026-97536

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-10-21T13:21:12.997

Link: CVE-2026-97536

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-97536 - Bugzilla

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-825

    Expired Pointer Dereference