Katalog CVE

CVE-2026-89865

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux sterownik scsi qla2xxx w obsłudze FRU/I2C bsg używa bufora DMA o rozmiarze 256 bajtów, który nie jest zerowany, i inicjalizuje tylko kilka początkowych bajtów. Funkcja qla2x00_write_sfp() może nadpisać długość transferu wartością podaną przez użytkownika (do 255 bajtów), co powoduje odczyt niezainicjalizowanej pamięci sterty i zapis do flash urządzenia.

Ocena ryzyka

Może prowadzić do wycieku danych z pamięci jądra (sterty) do urządzenia flash, co stanowi naruszenie poufności. Wymaga uprawnień CAP_SYS_RAWIO, ale może być wykorzystane przez lokalnego użytkownika z tymi uprawnieniami.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która używa dma_pool_zalloc() zamiast dma_pool_alloc() we wszystkich pięciu handlerach FRU/I2C. Ogranicz przyznawanie uprawnień CAP_SYS_RAWIO do niezbędnego minimum.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS