Description
In the Linux kernel, the following vulnerability has been resolved:

scsi: qla2xxx: Bound VP index against VP_CTRL IOCB bitmap size

The VP control IOCB selects its target virtual port by setting one bit
in vp_idx_map, a fixed 16-byte (128-bit) array in both
vp_ctrl_entry_24xx and vp_ctrl_entry_24xx_ext. qla25xx_ctrlvp_iocb()
computes map = (vp_index - 1) / 8 and writes vce->vp_idx_map[map]
without checking that map stays within the array.

max_npiv_vports is taken from firmware and only sanitized to a
MIN_MULTI_ID_FABRIC-aligned boundary, so it can legitimately be 191 or
255, and qla24xx_control_vp() only rejects vp_index >= max_npiv_vports.
A vp_index above 128 therefore yields map >= 16 and an out-of-bounds
write of up to 16 bytes past vp_idx_map, corrupting the trailing IOCB
fields (or the adjacent request-ring slot on the 64-byte layout).

Reject a vp_index that cannot be represented in the IOCB bitmap in
qla24xx_control_vp(), and add a defensive ARRAY_SIZE() guard in
qla25xx_ctrlvp_iocb() before the write. Adapters that report the usual
63 or 127 NPIV vports are unaffected.
Published: 2026-09-25
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Kernel memory corruption leading to potential arbitrary code execution
Action: Apply patch
AI Analysis

Impact

The vulnerability exists in the Linux kernel’s qla2xxx SCSI driver. A virtual port index is used to set a bit in a 128‑byte bitmap without verifying that the index remains within bounds. This flaw allows an out‑of‑bounds write that may corrupt adjacent memory inside the IOCB structure. An attacker who can provide a large virtual port index can overwrite control data and potentially execute arbitrary code at ring 0.

Affected Systems

Any Linux kernel that includes the qla2xxx driver is vulnerable. The driver contains the qla24xx and qla24xx_ext code paths that can be triggered with an oversized virtual port index. No specific kernel version range is listed; any kernel that still contains the vulnerable code is considered at risk.

Risk and Exploitability

The flaw has a CVSS score of 5.5 and an EPSS score below 1%, and it is not listed in the CISA KEV catalog. The likely attack vector is local or through SCSI traffic that targets the qla2xxx driver, where an attacker can send a command that supplies an invalid virtual port index exceeding 128. Successful exploitation would produce a memory corruption that could lead to privilege escalation or complete system compromise. The moderate CVSS and low EPSS suggest that, while possible, exploitation is not widely automated, yet any system that exposes the driver to untrusted input should treat the risk as significant.

Generated by OpenCVE AI on October 1, 2026 at 13:46 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the upstream patch that bounds the bitmap write in the qla2xxx driver
  • If a patch is not available, disable or unload the qla2xxx driver and avoid using adapters configured with more than 128 virtual ports
  • Update host‑adapter firmware to limit max_npiv_vports to 128 or less, preventing out‑of‑bounds indices

Generated by OpenCVE AI on October 1, 2026 at 13:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6568-1 linux security update
History

Wed, 21 Oct 2026 13:15:00 +0000


Sat, 03 Oct 2026 11:15:00 +0000


Thu, 01 Oct 2026 11:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 25 Sep 2026 13:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Bound VP index against VP_CTRL IOCB bitmap size The VP control IOCB selects its target virtual port by setting one bit in vp_idx_map, a fixed 16-byte (128-bit) array in both vp_ctrl_entry_24xx and vp_ctrl_entry_24xx_ext. qla25xx_ctrlvp_iocb() computes map = (vp_index - 1) / 8 and writes vce->vp_idx_map[map] without checking that map stays within the array. max_npiv_vports is taken from firmware and only sanitized to a MIN_MULTI_ID_FABRIC-aligned boundary, so it can legitimately be 191 or 255, and qla24xx_control_vp() only rejects vp_index >= max_npiv_vports. A vp_index above 128 therefore yields map >= 16 and an out-of-bounds write of up to 16 bytes past vp_idx_map, corrupting the trailing IOCB fields (or the adjacent request-ring slot on the 64-byte layout). Reject a vp_index that cannot be represented in the IOCB bitmap in qla24xx_control_vp(), and add a defensive ARRAY_SIZE() guard in qla25xx_ctrlvp_iocb() before the write. Adapters that report the usual 63 or 127 NPIV vports are unaffected.
Title scsi: qla2xxx: Bound VP index against VP_CTRL IOCB bitmap size
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-21T12:53:10.511Z

Reserved: 2026-09-24T16:01:01.153Z

Link: CVE-2026-97535

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:03.757

Modified: 2026-10-21T13:21:12.860

Link: CVE-2026-97535

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-97535 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T14:00:10Z

Weaknesses