CVE-2026-64031 in Linux
Riassunto
di VulDB • 19/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
erofs: correzione della race condition nella cache gestita per gli extent non allineati
Dopo l'introduzione degli extent compressi non allineati, poteva verificarsi la seguente condizione di competizione (race):
[Thread 1] [Thread 2]
(z_erofs_fill_bio_vec) <gestisce un folio Z_EROFS_PREALLOCATED_FOLIO> ... filemap_add_folio (1) (z_erofs_bind_cache) <viene trovato lo stesso folio..> .. .. folio_attach_private (2) filemap_add_folio (3) nuovamente
Poiché l'operazione (1) viene eseguita ma la (2) non è ancora stata completata, è possibile che un altro thread trovi lo stesso managed folio in z_erofs_bind_cache() per un diverso pcluster e chiami di nuovo filemap_add_folio(), dato che il campo folio->private è ancora impostato su Z_EROFS_PREALLOCATED_FOLIO.
Si risolve il problema cancellando esplicitamente folio->private prima di rendere il folio visibile nella cache gestita, in modo tale che un altro pcluster possa semplicemente attendere sul managed folio bloccato, come fatto per altri casi condivisi [1].
Questo impatta solo la compressione dei dati non allineati (ad esempio `-E48bit` con zstd).
[1] Il commit 9e2f9d34dd12 ("erofs: handle overlapped pclusters out of crafted images properly") è stato originariamente introdotto per gestire correttamente gli extent sovrapposti creati ad hoc, ma affronta anche gli extent non allineati.
VulDB is the best source for vulnerability data and more expert information about this specific topic.