CVE-2026-98635 in Linux
Resumen
por VulDB • 2026-10-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
scsi: block: Corrección de una escritura fuera de límites en zones_cond durante el informe de zonas
blk_revalidate_disk_zones() dimensiona la matriz zones_cond a partir de la capacidad del disco y del tamaño de zona, pero el índice utilizado por blk_revalidate_zone_cond() proviene del recorrido report_zones() impulsado por el dispositivo y nunca se verifica frente al tamaño de la matriz. Un dispositivo que informa más zonas de las que caben en la matriz provoca una escritura fuera de límites en blk_zone_set_cond().
Una forma de alcanzar esta condición es un recuento de zonas superior a 32 bits: tanto nr_zones de blk_revalidate_zone_args como nr_zones de struct zoned_disk_info son unsigned int, por lo que un disco que anuncia más de UINT_MAX zonas (por ejemplo, 2^32 + 1024 zonas con bloques lógicos de 512 bytes) ve truncado su recuento de zonas a un valor pequeño, subdimensionando la matriz mientras el recorrido del informe sigue contando hacia arriba.
Verifique el índice frente al tamaño de la matriz antes de almacenar la condición de zona y rechace la revalidación cuando el recuento de zonas no se ajuste a 32 bits.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.