В ядре Linux устранена следующая уязвимость:
ocfs2: отклонять диапазоны FITRIM короче кластера
ocfs2_trim_mainbm() обрезает глобальное растровое изображение в единицах кластера, но
Проверка слишком короткого диапазона проверяет только sb->s_blocksize. В файловых системах с размером кластера, превышающим размер блока, FITRIM
принимается диапазон, состоящий как минимум из одного блока, но короче одного кластера
и сдвинут вниз до len == 0. Более позднее начало + len - 1 и len -= ...
арифметические действия затем переполняются и могут привести к обрезке за пределами запрошенного значения.
диапазон.
Вместо этого отклоняйте диапазоны короче, чем s_clustersize. Это сохраняет
существующее поведение -EINVAL для запросов, которые не могут отбросить хотя бы один
единицу распределения и исключает обрезку нулевого кластера из группового обхода.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: ocfs2: reject FITRIM ranges shorter than a cluster ocfs2_trim_mainbm() trims the global bitmap in cluster units, but its too-short range validation only checks sb->s_blocksize. On filesystems with a cluster size larger than the block size, a FITRIM range that is at least one block but shorter than one cluster is accepted and shifted down to len == 0. The later start + len - 1 and len -= ... arithmetic then underflows and can drive trimming past the requested range. Reject ranges shorter than s_clustersize instead. That preserves the existing -EINVAL behavior for requests that cannot discard even one allocation unit and keeps zero-cluster trims out of the group walk.
Характеристики атаки
Последствия
Строка CVSS v3.1