Skip to main content
← All vulnerabilities
CVE-2026-89842

scsi: qla2xxx: Skip NVMe LS reject IOCB when FW not started

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.157, 6.12.110, 6.18.51, 7.2.5
None on Exploit-DB, Metasploit or GitHub

Summary

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().

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 875386b98857822b77ac7f95bdf367b70af5b78c · fixed in 2935b730211c5c1433aa6101fa3b55df2b63869a; From 875386b98857822b77ac7f95bdf367b70af5b78c · fixed in 7c1fc75dd3fb6b6414508fbdf7aeed0d757c9120; From 875386b98857822b77ac7f95bdf367b70af5b78c · fixed in ac4b019ac07844d3f67ea5e48b1d982b2170d1a7; From 875386b98857822b77ac7f95bdf367b70af5b78c · fixed in e9bfb56e2c1bda49d3c5442d824569d71eec07e2; From 875386b98857822b77ac7f95bdf367b70af5b78c · fixed in f7e46ebffc5781aab3f1f5a5d4350addbb5833f4

  • Linux Linux

    6.6

  • KernelLinux

    From 6.6.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5

References 5

git.kernel.org