CVE-2026-89865

scsi: qla2xxx: Zero SFP DMA buffer in FRU/I2C bsg handlers

State
Published
Severity
Not scored
Published
Sep 16, 2026
Updated
Oct 19, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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

scsi: qla2xxx: Zero SFP DMA buffer in FRU/I2C bsg handlers

The FRU and I2C bsg handlers stage their transfer in a DMA_POOL_SIZE (256-byte) bounce buffer obtained from dma_pool_alloc(), which does not zero the allocation. They initialize only a few leading bytes before handing the buffer to qla2x00_write_sfp().

qla2x00_write_sfp() can override the transfer length with a user-supplied value:

if (len == 1) opt |= BIT_0; if (opt & BIT_0) len = *sfp;

*sfp is the first byte of the (user-controlled) payload, so len can grow up to 255. The device then DMA-reads len bytes from the 256-byte pool buffer. Since only a small prefix was written (e.g. MAX_FRU_SIZE == 36 bytes for a FRU version, one byte for a FRU status register), the hardware reads past the initialized region and writes up to ~219 bytes of stale DMA-pool heap memory to the device flash.

Allocate the buffer with dma_pool_zalloc() in all five FRU/I2C handlers so any bytes beyond the initialized data are zero rather than stale heap contents.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 to before a476377a66897549dd49bee319f4df66623417b7Affected
  • 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 to before 09703bc7c0be3a7a155b0ff5f21f6765ba3f519cAffected
  • 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 to before 97c45c75f5cdec96b1a4fba8b1d55d0dd01af1e8Affected
  • 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 to before 84bde5ce4038d9ad811e5c994305bbfcbd7a9f79Affected
  • 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 to before 581590f560b74399151b3cbc88574424c2f3d2dcAffected
  • 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 to before b157256c28086c434afd70cc78bf9b4d8caf1276Affected
  • 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 to before a5501c42256235523c4dddf799f032dfbf4f4c77Affected
  • 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 to before b47d4a1547d9ef21b2e9d1a739fe2204d4be05dcAffected
LinuxLinux
  • 3.2Affected
  • before 3.2Not affected
  • 5.10.270 through 5.10.*Not affected
  • 5.15.221 through 5.15.*Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.110 through 6.12.*Not affected
  • 6.18.51 through 6.18.*Not affected
  • 7.2.5 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.