Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-74470

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
15/08/2026
Última modificación:
15/08/2026

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> scsi: scsi_debug: Fix REPORT ZONES alloc_len underflow OOB write<br /> <br /> resp_report_zones() sizes the reply buffer from the CDB allocation<br /> length. The v3 fix rounds alloc_len up with ALIGN() before deriving the<br /> descriptor count:<br /> <br /> rep_max_zones = (ALIGN((u64)alloc_len, RZONES_DESC_HD) -<br /> RZONES_DESC_HD) &gt;&gt; ilog2(RZONES_DESC_HD);<br /> arr_len = (u64)RZONES_DESC_HD * (rep_max_zones + 1);<br /> <br /> For alloc_len in 0xFFFFFFC1..0xFFFFFFFF, ALIGN() rounds up to<br /> 0x100000000, so arr_len is 4 GB. On 32-bit, kzalloc()&amp;#39;s size_t is 32-bit<br /> and truncates 0x100000000 to 0; kzalloc(0) returns ZERO_SIZE_PTR, which<br /> passes the !arr check, and desc = arr + 64 is then dereferenced in the<br /> loop -&gt; out-of-bounds write / panic.<br /> <br /> Clamp rep_max_zones to devip-&gt;nr_zones. The loop already stops at<br /> sdebug_capacity (after nr_zones zones), so a report can never hold more<br /> than nr_zones descriptors; the clamp does not change the report, it only<br /> bounds arr_len to (nr_zones + 1) * RZONES_DESC_HD, a real device<br /> property that can never reach 0x100000000.

Impacto