CVE-2024-36027 in Linuxinformazioni

Riassunto

di VulDB • 11/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

btrfs: zoned: non impostare il flag ZEROOUT su un buffer di estensione non sporco (non-dirty)

Btrfs cancella il contenuto di un buffer di estensione contrassegnato come EXTENT_BUFFER_ZONED_ZEROOUT prima della sottomissione del bio. Questo meccanismo è stato introdotto per prevenire una "write hole" in un buffer di estensione che, dopo essere stato allocato e marcato sporco (dirty), si rivela inutile e viene pulito all'interno di una singola operazione di transazione.

Attualmente, btrfs_clear_buffer_dirty() marca il buffer di estensione come EXTENT_BUFFER_ZONED_ZEROOUT ed evita la funzione entry point. Se questa chiamata avviene mentre il buffer è sotto IO (con il flag WRITEBACK impostato e senza il flag DIRTY), può essere aggiunto il flag ZEROOUT e cancellato il contenuto del buffer appena prima della sottomissione del bio. Di conseguenza:

1) ciò può portare all'aggiunta di un elemento di riferimento ritardato errato, che causa una corruzione del filesystem (errore EUCLEAN); e

2) viene scritto su disco un nodo dell'albero già cancellato.

Il primo problema è stato precedentemente discusso in [1]. La corruzione si verifica durante l'esecuzione di un aggiornamento dei riferimenti ritardati. Pertanto, i dati su disco sono sicuri.

[1] https://lore.kernel.org/linux-btrfs/3f4f2a0ff1a6c818050434288925bdcf3cd719e5.1709124777.git.naohiro.aota@wdc.com/

Il secondo caso può interessare i dati su disco. Tuttavia, poiché quel nodo è già stato elaborato da btrfs_clear_buffer_dirty(), verrà comunque invalidato nel prossimo commit della transazione. Pertanto, la probabilità di riscontrare una corruzione è relativamente bassa.

In ogni caso, dovremmo evitare di impostare il flag ZEROOUT su un buffer di estensione non DIRTY, per mantenere intatti i dati sotto IO.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Fonti

Do you know our Splunk app?

Download it now for free!