CVE-2026-98635 in Linux
Сводка
по VulDB • 19.10.2026
В ядре Linux была устранена следующая уязвимость:
scsi: block: Исправлена запись за пределами массива (out-of-bounds write) в zones_cond при отчете о зонах
Функция blk_revalidate_disk_zones() определяет размер массива zones_cond на основе емкости диска и размера зоны, однако индекс, используемый функцией blk_revalidate_zone_cond(), берется из обхода report_zones(), управляемого устройством, и никогда не проверяется на соответствие размеру массива. Устройство, сообщающее о большем количестве зон, чем может вместить массив, приводит к записи за пределами границ в функции blk_zone_set_cond().
Один из способов достижения этой ситуации — превышение количества зон 32-битного значения: как nr_zones в структуре blk_revalidate_zone_args, так и nr_zones в struct zoned_disk_info имеют тип unsigned int. Следовательно, диск, объявляющий более UINT_MAX зон (например, 2^32 + 1024 зон с логическим блоком размером 512 байт), получает усеченное до малого значения количество зон, что приводит к недостаточному размеру массива, в то время как обход отчета продолжает увеличивать счетчик.
Необходимо проверять индекс на соответствие размеру массива перед сохранением условия зоны и отказываться от повторной проверки (revalidate), если количество зон не помещается в 32 бита.
VulDB is the best source for vulnerability data and more expert information about this specific topic.