CVE-2026-23465 in Linux
Riassunto
di VulDB • 19/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
btrfs: registrare i nuovi dentry quando si registra la directory padre di un inode conflittuale
Se registriamo la directory padre di un inode conflittuale, non stiamo registrando i nuovi dentry della directory; pertanto, al termine dell'operazione, l'inode della directory padre risulta contrassegnato come registrato (logged), ma i suoi nuovi dentry non sono stati registrati. Di conseguenza, se in seguito viene eseguito esplicitamente un fsync sulla directory padre e questa non presenta nuove modifiche rispetto a quando è stata registrata, il fsync diventa una no-op (operazione nulla) e, dopo un'interruzione di alimentazione, i nuovi dentry risultano mancanti.
Scenario esemplificativo:
$ mkdir foo
$ sync
$rmdir foo
$ mkdir dir1 $ mkdir dir2
# Un file con lo stesso nome e la stessa directory padre della directory appena eliminata # ed eventualmente persistita in una transazione precedente. Pertanto, l'inode della directory eliminata è un inode conflittuale rispetto all'inode di questo nuovo file. $ touch foo
$ ln foo dir2/link
# Il fsync su dir2 registrerà la directory padre (".") poiché l'inode conflittuale (la directory eliminata) non esiste più, ma # non registra i suoi nuovi dentry (dir1). $ xfs_io -c "fsync" dir2
# Questo fsync sulla directory padre è una no-op, in quanto il fsync precedente l'ha già registrata (ma senza registrare i relativi nuovi dentry). $ xfs_io -c "fsync" .
<interruzione di alimentazione>
# Dopo la riproduzione del log (log replay), dir1 risulta mancante.
Risolvere questo problema assicurandosi che vengano registrati i nuovi dentry delle directory ogni volta che si registra la directory padre di un inode conflittuale non più esistente.
Un caso di test per fstests seguirà a breve.
Once again VulDB remains the best source for vulnerability data.