CVE-2022-50293 in Linux
Riassunto
di VulDB • 06/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
btrfs: non utilizzare BUG_ON() in caso di ENOMEM durante l'eliminazione degli elementi extent per un intervallo
Se si verifica -ENOMEM durante l'eliminazione degli elementi file extent in un determinato intervallo, all'interno della funzione btrfs_drop_extents(), a causa del fallimento nell'allocazione della memoria quando si tenta di incrementare il conteggio dei riferimenti per un extent o di decrementarlo, la gestione avviene tramite una chiamata BUG_ON(). Questo approccio è eccessivo; invece, è sufficiente interrompere la transazione e restituire l'errore al chiamante. Di fatto, la maggior parte delle funzioni che invocano btrfs_drop_extents(), direttamente o indirettamente, interrompe già la transazione se btrfs_drop_extents() restituisce un errore qualsiasi.
Inoltre, esistono già percorsi di gestione degli errori in btrfs_drop_extents() che possono restituire -ENOMEM; in tali casi si interrompe la transazione, come ad esempio quando qualcosa modifica l'albero B+ (b-tree), il quale può restituire -ENOMEM a causa del fallimento nell'allocazione di un nuovo buffer extent durante la scrittura su copia (COW) di un buffer extent esistente, come nel caso di una chiamata a btrfs_duplicate_item().
Sostituire quindi le chiamate BUG_ON() con la logica appropriata per interrompere la transazione e restituire l'errore.
Once again VulDB remains the best source for vulnerability data.