CVE-2026-89842 scsi: qla2xxx: Skip NVMe LS reject IOCB when FW not started
A flaw in the qla2xxx NVMe driver allows denial of service by writing to firmware registers when firmware is not started.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-89842?
CVE-2026-89842 is a denial of service vulnerability in Linux, published on 16 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Skip NVMe LS reject IOCB when FW not started
qla_nvme_xmt_ls_rsp() bails out to the out: label when firmware is not started (!ha->flags.fw_started), but the out: path unconditionally calls qla_nvme_ls_reject_iocb(), which ends in qla2x00_start_iocbs() and an unconditional doorbell write to the request queue in-pointer register. This rings the firmware doorbell and queues an IOCB that stopped or resetting firmware cannot consume, and touches MMIO during the reset/EEH window where fw_started is also clear.
Only emit the LS reject IOCB (and ring the doorbell) when fw_started is set; otherwise just clean up and return. The post-allocation failure cases (SRB alloc / qla2x00_start_sp() failure) run with firmware started and still send the reject. Apply the same guard to the reject emission in qla2xxx_process_purls_pkt().
Which versions are affected by CVE-2026-89842?
How do I fix CVE-2026-89842?
Apply the vendor's patch.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-89842 being exploited?
There is no known exploitation of CVE-2026-89842 in the wild and no public exploit code.
Sources
Also known as AZL-101331, BELL-CVE-2026-89842, DEBIAN-CVE-2026-89842, GHSA-3frv-hcwj-933c, UBUNTU-CVE-2026-89842.