CVE Catalog

CVE-2026-89854

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel scsi: qla2xxx driver, qla84xx_put_chip() drops the last reference to ha->cs84xx and frees it via __qla84xx_chip_release() without clearing ha->cs84xx. During teardown it ran before scsi_remove_host(), which removes the 84xx_fw_version host sysfs attribute. A concurrent read of that attribute in the window between the two calls executes qla24xx_84xx_fw_version_show(), which dereferences the freed ha->cs84xx, resulting in a use-after-free.

Risk Assessment

A use-after-free can lead to kernel memory corruption or a system crash, and under favorable conditions to privilege escalation. The risk occurs during host teardown while the sysfs attribute is being read concurrently.

Recommendation

Update the Linux kernel to a version containing the fix that moves qla84xx_put_chip() after scsi_remove_host() in qla2x00_remove_one() and qla2x00_disable_board_on_pci_error(). Until the fix is deployed, avoid concurrent reads of the 84xx_fw_version attribute during host removal.

Other vulnerabilities in Linux kernel (qla2xxx)

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix cs84xx use-after-free on host teardown qla84xx_put_chip() drops the last reference to ha->cs84xx and frees it via __qla84xx_chip_release() without clearing ha->cs84xx. During teardown it ran before scsi_remove_host(), which is what removes the 84xx_fw_version host sysfs attribute. A concurrent read of that attribute in the window between the two calls executes qla24xx_84xx_fw_version_show(), which dereferences the freed ha->cs84xx, resulting in a use-after-free. Move qla84xx_put_chip() to after scsi_remove_host() in both qla2x00_remove_one() and qla2x00_disable_board_on_pci_error(). Once scsi_remove_host() returns, the sysfs attribute is gone and kernfs has drained any in-flight show(), so no reader can touch cs84xx; the put still runs before the host and ha are freed.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS