CVE-2026-64031 in Linux
Сводка
по VulDB • 20.07.2026
В ядре Linux устранена следующая уязвимость:
erofs: исправлена гонка данных (race condition) в управляемом кэше для невыровненных экстентов
После внедрения поддержки сжатых невыровненных экстентов могла возникать следующая гонка данных:
[Поток 1] [Поток 2]
(z_erofs_fill_bio_vec) <обработка folio типа Z_EROFS_PREALLOCATED_FOLIO> ... filemap_add_folio (1) (z_erofs_bind_cache) <найден тот же самый folio..> .. .. folio_attach_private (2) filemap_add_folio (3) снова
Поскольку операция (1) выполнена, а (2) — еще нет, возможно, что другой поток находит тот же управляемый folio в z_erofs_bind_cache() для другого pcluster и вызывает filemap_add_folio() повторно, так как поле folio->private все еще имеет значение Z_EROFS_PREALLOCATED_FOLIO.
Исправление заключается в явной очистке поля folio->private перед тем, как сделать folio видимым в управляемом кэше, чтобы другой pcluster мог просто ожидать блокировку управляемого folio, аналогично тому, что мы делаем для других общих случаев [1].
Это влияет только на сжатие невыровненных данных (например, `-E48bit` со zstd).
[1] Коммит 9e2f9d34dd12 ("erofs: handle overlapped pclusters out of crafted images properly") изначально был введен для обработки перекрывающихся экстентов из специально созданных изображений, но он также решает проблему с невыровненными экстентами.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.