KernelScan.io

HIGH Introduced in 3.2

qla2xxx FruVersion OOB

CVE-2026-89858

CVSS 7.3 / 10.0 KernelScan AI

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

01

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Bound image count in qla2x00_update_fru_versions() qla2x00_update_fru_versions() copies the user-supplied BSG request into a fixed 256-byte stack buffer (bsg[DMA_POOL_SIZE]) and then iterates list->count times over the qla_image_version array embedded in that buffer, advancing the image pointer each iteration. count is taken directly from user input with no upper bound, while only (DMA_POOL_SIZE - sizeof(list->count)) / sizeof(struct qla_image_version) = 6 entries actually fit. A larger count walks the image pointer off the end of the stack buffer, reading adjacent kernel stack memory and sending it to the device via qla2x00_write_sfp(). Reject requests whose declared count does not fit in the buffer.

02

Engine v0.6.0

Risk summary

A local user with access to a QLogic Fibre Channel HBA's BSG device node can supply an unbounded count value in a FRU-version update request, causing the driver to read past a fixed stack buffer. This leaks kernel stack memory to the device and can crash the kernel if the read walks into unmapped memory. Systems without QLogic FC hardware or without local access are not affected.

Affecteddrivers/scsi/qla2xxx/qla_bsg.c (qla2xxx SCSI BSG interface)

Vulnerability analysis

The driver handles FRU-version updates by copying a user-supplied request into a small on-stack buffer, then trusting an unvalidated entry count from that request to control how many items it processes. By supplying a count larger than the buffer can hold, an attacker can make the driver read past the buffer into adjacent kernel stack memory and forward that leaked data to the hardware. The correction adds a bounds check that refuses requests whose declared number of entries would exceed the buffer. The flaw can be reached by any local process that can open the QLogic adapter's management device, and it only affects systems with this Fibre Channel hardware.

03

BranchIntroducedFixed inPatch commit
5.103.25.10.270af733bbfcf66
5.153.25.15.221a9706d5e754e
6.13.26.1.1887e3154c97ec1
6.123.26.12.110f93e8039e6fd
6.183.26.18.517b22b4cb8822
6.63.26.6.157047f1f7ee6f8
7.23.27.2.5f2d4f025b67f
mainline3.27.3de62cf265dbe
cip/5.103.25.10.271-cip78af733bbfcf66
cip/6.13.26.1.189-cip617e3154c97ec1
cip/6.1-rt3.26.1.189-cip61-rt327e3154c97ec1
cip/6.123.26.12.111-cip32f93e8039e6fd

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)