---
id: CVE-2026-89865
title: |-
  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 …
summary: |-
  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 …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 <
    a476377a66897549dd49bee319f4df66623417b7
  - >-
    Linux >= 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 <
    09703bc7c0be3a7a155b0ff5f21f6765ba3f519c
  - >-
    Linux >= 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 <
    97c45c75f5cdec96b1a4fba8b1d55d0dd01af1e8
  - >-
    Linux >= 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 <
    84bde5ce4038d9ad811e5c994305bbfcbd7a9f79
  - >-
    Linux >= 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 <
    581590f560b74399151b3cbc88574424c2f3d2dc
  - >-
    Linux >= 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 <
    b157256c28086c434afd70cc78bf9b4d8caf1276
  - >-
    Linux >= 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 <
    a5501c42256235523c4dddf799f032dfbf4f4c77
  - >-
    Linux >= 697a4bc69159c3396035b0506ffa55c4b2d0b1f4 <
    b47d4a1547d9ef21b2e9d1a739fe2204d4be05dc
  - Linux 3.2
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T11:16:54.610'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89865'
references:
  - url: 'https://git.kernel.org/stable/c/09703bc7c0be3a7a155b0ff5f21f6765ba3f519c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/581590f560b74399151b3cbc88574424c2f3d2dc'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/84bde5ce4038d9ad811e5c994305bbfcbd7a9f79'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/97c45c75f5cdec96b1a4fba8b1d55d0dd01af1e8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a476377a66897549dd49bee319f4df66623417b7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a5501c42256235523c4dddf799f032dfbf4f4c77'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b157256c28086c434afd70cc78bf9b4d8caf1276'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b47d4a1547d9ef21b2e9d1a739fe2204d4be05dc'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.989Z'
epss: 0.00211
epssPercentile: 0.10037
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
