В ядре Linux устранена следующая уязвимость:
ntfs: привязка растрового сканирования свободного кластера к тому
Размер vol->lcn_empty_bits_per_page равен vol->nr_clusters при монтировании, но
ntfs_cluster_alloc() ограничивает сканирование этого массива размером $Bitmap. Это независимые количества на диске и только проверка времени монтирования.
отклоняет слишком маленькое $Bitmap, поэтому изображение, $Bitmap которого покрывает больше
кластеров, чем объем тома, позволяет индексу сканирования пройти мимо массива. Бег
чей LCN находится в этом промежутке, распределитель распределяется прямо туда, поскольку
вызывающая сторона передает собственный последний LCN файла в качестве подсказки о местонахождении. сообщает КАСАН
чтение за пределами допустимого диапазона при расширении файла на таком томе.
Ограничьте сканирование тем, что покрывает этот массив, зеркально отображая max_index.
расчет, который уже используется при сканировании времени монтирования, и отклонить декодированный LCN
на уровне nr_clusters или за его пределами в декодере пар сопоставлений. Соответствие
объемы не затронуты.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: ntfs: bound the free-cluster bitmap scan to the volume vol->lcn_empty_bits_per_page is sized from vol->nr_clusters at mount, but ntfs_cluster_alloc() bounds its scan of that array by the size of $Bitmap. Those are independent on-disk quantities and the mount-time check only rejects a $Bitmap that is too small, so an image whose $Bitmap covers more clusters than the volume has lets the scan index past the array. A run whose LCN lies in that gap takes the allocator straight there, since the caller passes the file's own last LCN as its locality hint. KASAN reports a slab out-of-bounds read when a file on such a volume is extended. Clamp the scan to what that array covers, mirroring the max_index calculation the mount-time scan already uses, and reject a decoded LCN at or beyond nr_clusters in the mapping pairs decoder. Conforming volumes are unaffected.
Характеристики атаки
Последствия
Строка CVSS v3.1