CVE-2026-89865 in Linux
Zusammenfassung
von VulDB • 16.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
scsi: qla2xxx: Nullen des SFP-DMA-Puffers in den FRU-/I2C-bsg-Handlern
Die FRU- und I2C-bsc-Handler stagen ihre Übertragung in einem DMA_POOL_SIZE (256 Byte) großen Bounce-Puffer, der von dma_pool_alloc() stammt. Dieser alloziert den Speicher jedoch nicht mit Nullen. Es werden nur einige führende Bytes initialisiert, bevor der Puffer an qla2x00_write_sfp() übergeben wird.
qla2x00_write_sfp() kann die Übertragungslänge durch einen vom Benutzer bereitgestellten Wert überschreiben:
if (len == 1) opt |= BIT_0; if (opt & BIT_0) len = *sfp;
*sfp ist das erste Byte des (benutzerkontrollierten) Payloads, sodass len bis zu 255 betragen kann. Das Gerät liest dann len Bytes aus dem 256-Byte-Poolpuffer per DMA. Da nur ein kleiner Prefix geschrieben wurde (z. B. MAX_FRU_SIZE == 36 Byte für eine FRU-Version, ein Byte für ein FRU-Statusregister), liert die Hardware über den initialisierten Bereich hinaus und schreibt bis zu ~219 Bytes veralteter Heap-Speicherinhalte aus dem DMA-Pool auf das Geräteflash.
Allozieren Sie den Puffer in allen fünf FRU-/I2C-Handlern mit dma_pool_zalloc(), damit alle Bytes jenseits der initialisierten Daten Nullen und keine veralteten Heap-Inhalte enthalten.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.