KernelScan.io

HIGH Introduced in 3.14

qla2xxx cs84xx UAF

CVE-2026-89854

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI6.9MEDIUM

01

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.

02

Engine v0.6.0

Risk summary

A local unprivileged user on a system with a QLogic Fibre Channel HBA can trigger a use-after-free by reading a sysfs attribute during device teardown. The race window opens when the driver frees chip-specific data before removing the corresponding sysfs entry, allowing a concurrent reader to dereference freed memory. Successful exploitation could lead to kernel memory corruption, privilege escalation, or a system crash.

Affecteddrivers/scsi/qla2xxx/qla_os.c (qla2xxx SCSI driver)

Vulnerability analysis

During host teardown, the qla2xxx driver frees a chip-specific data structure before removing the associated sysfs attribute. In the window between the free and the attribute removal, a concurrent read of that sysfs attribute dereferences the already-freed memory, causing a use-after-free. The fix reorders the teardown sequence so the sysfs attribute is removed and all in-flight readers are drained before the data structure is freed. The vulnerability is reachable by any local user who can read the world-accessible sysfs attribute on a system with a QLogic Fibre Channel HBA, but exploitation requires winning a race with device removal or PCI error handling, which limits the attack window.

03

BranchIntroducedFixed inPatch commit
5.153.145.15.2211d8bbc4344b9
6.13.146.1.1882c3b17ee53f0
6.63.146.6.157ae09260be745
6.123.146.12.110fcf0804dfe05
7.23.147.2.5122bf170c94a
mainline3.147.3-rc133d102102d92
6.183.146.18.518286a9095fb5
5.103.145.10.2708c1ebcade6aa
cip/6.123.146.12.111-cip32fcf0804dfe05