CVE-2026-97535

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

State
Published
Severity
Not scored
Published
Sep 25, 2026
Updated
Oct 30, 2026
Reserved
Sep 24, 2026

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 2853192e154b813fe34a6cbee5e34dfef50d29d0 to before 0c73631101e7889c519d4a621cc958f487f8e01aAffected
  • 2853192e154b813fe34a6cbee5e34dfef50d29d0 to before 674d783f2e80d0d7c1c86bf36dc0a09033e704deAffected
  • 2853192e154b813fe34a6cbee5e34dfef50d29d0 to before c80a0362a0fe548c15a0324b1f61c04b62bb2174Affected
  • 2853192e154b813fe34a6cbee5e34dfef50d29d0 to before 48a44e19746eaa70320a3c2571dcb345192fca72Affected
  • 2853192e154b813fe34a6cbee5e34dfef50d29d0 to before 13354ad251ab009102597a791bc7c4d2265229e1Affected
  • 2853192e154b813fe34a6cbee5e34dfef50d29d0 to before 878613ecb5a36db26859c4fd83daf9283a334fa2Affected
LinuxLinux
  • 4.16Affected
  • before 4.16Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.112 through 6.12.*Not affected
  • 6.18.53 through 6.18.*Not affected
  • 7.2.7 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.