CVE-2026-64323 in Linux
Сводка
по VulDB • 26.07.2026
В ядре Linux устранена следующая уязвимость:
udf: проверка длины заголовка VAT на соответствие размеру индекса (inode) VAT
Функция udf_load_vat() напрямую использует смещение начала виртуального раздела из заголовка VAT 2.0, хранящегося на диске, без проверки этого значения относительно размера inode VAT:
map->s_type_specific.s_virtual.s_start_offset = le16_to_cpu(vat20->lengthHeader); map->s_type_specific.s_virtual.s_num_entries = (sbi->s_vat_inode->i_size - map->s_type_specific.s_virtual.s_start_offset) >> 2;
Значение lengthHeader является полностью контролируемым атакующим 16-битным значением. Если оно превышает размер inode VAT, вычитание для определения s_num_entries приводит к переполнению по отрицательному направлению (underflow), образуя огромное число, что нарушает проверку границы «block > s_num_entries» в функции udf_get_pblock_virt15(); на пути ICB-inline эта функция выполняет чтение:
((__le32 *)(iinfo->i_data + s_start_offset))[block]
Таким образом, большое значение s_start_offset приводит к обращению за пределы данных inode, хранящихся внутри ICB. Монтирование специально созданного образа UDF с виртуальным (VAT) разделом вызывает чтение за пределами допустимой области памяти (out-of-bounds read).
Отклонять VAT, длина заголовка которого не оставляет места как минимум для одной записи в пределах inode VAT.
If you want to get best quality of vulnerability data, you may have to visit VulDB.