CVE-2026-74470 in Linux
Zusammenfassung
von VulDB • 15.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
scsi: scsi_debug: Behebung des unterlaufenden OOB-Write bei REPORT ZONES alloc_len
resp_report_zones() dimensioniert den Antwortpuffer basierend auf der CDB-Allokationslänge (alloc_len). Die Korrektur in Version 3 rundet die alloc_len mit ALIGN() nach oben, bevor die Deskriptoranzahl abgeleitet wird:
rep_max_zones = (ALIGN((u64)alloc_len, RZONES_DESC_HD) - RZONES_DESC_HD) >> ilog2(RZONES_DESC_HD); arr_len = (u64)RZONES_DESC_HD * (rep_max_zones + 1);
Für alloc_len im Bereich von 0xFFFFFFC1 bis 0xFFFFFFFF rundet ALIGN() auf 0x100000000 auf, sodass arr_len 4 GB beträgt. Bei 32-Bit-Systemen ist size_t in kzalloc()'s 32 Bit breit und kürzt 0x100000000 zu 0; kzalloc(0) gibt ZERO_SIZE_PTR zurück, was die !arr-Prüfung besteht, und desc = arr + 64 wird dann in der Schleife dereferenziert -> Out-of-Bounds-Schreibzugriff / Panic.
Begrenzen Sie rep_max_zones auf devip->nr_zones. Die Schleife stoppt bereits bei sdebug_capacity (nach nr_zones Zonen), daher kann ein Bericht niemals mehr als nr_zones Deskriptoren enthalten; die Begrenzung ändert den Bericht nicht, sie beschränkt arr_len lediglich auf (nr_zones + 1) * RZONES_DESC_HD, eine reale Geräteeigenschaft, die nie 0x100000000 erreichen kann.
If you want to get best quality of vulnerability data, you may have to visit VulDB.