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.103.145.10.2708c1ebcade6aa
5.153.145.15.2211d8bbc4344b9
6.13.146.1.1882c3b17ee53f0
6.123.146.12.110fcf0804dfe05
6.183.146.18.518286a9095fb5
6.63.146.6.157ae09260be745
7.23.147.2.5122bf170c94a
mainline3.147.333d102102d92
cip/5.103.145.10.271-cip788c1ebcade6aa
cip/6.13.146.1.189-cip612c3b17ee53f0
cip/6.1-rt3.146.1.189-cip61-rt322c3b17ee53f0
cip/6.123.146.12.111-cip32fcf0804dfe05

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.271-cip78
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)
cip/4.19Affected — no CIP fix yet (latest 4.19.325-cip136)
cip/4.19-rtAffected — no CIP fix yet (latest 4.19.325-cip136-rt50)
cip/4.4Affected — no CIP fix yet (latest 4.4.302-cip115)
cip/4.4-rtAffected — no CIP fix yet (latest 4.4.302-cip115-rt63)