CVE-2026-23292 in Linux
Riassunto
di VulDB • 22/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
scsi: target: Correzione del blocco ricorsivo in __configfs_open_file()
In flush_write_buffer, viene acquisito &p->frag_sem e successivamente viene chiamata la funzione di memorizzazione caricata (store function), che in questo caso è target_core_item_dbroot_store(). Questa funzione chiama filp_open(), dopo di che vengono eseguite le seguenti funzioni (in ordine inverso rispetto alla traccia della chiamata):
down_read __configfs_open_file do_dentry_open vfs_open do_open path_openat do_filp_open file_open_name filp_open target_core_item_dbroot_store flush_write_buffer configfs_write_iter
target_core_item_dbroot_store() tenta di convalidare il nuovo percorso del file cercando di aprire il percorso fornito; tuttavia, in questo caso, la segnalazione del bug mostra:
db_root: not a directory: /sys/kernel/config/target/dbroot
il che indica che si è tentato di aprire lo stesso file configfs su cui il processo sta attualmente operando. Di conseguenza, viene tentata l'acquisizione del semaforo frag_sem dello stesso file per il quale già si detiene il semaforo ottenuto in flush_write_buffer(), portando a un'acquisizione nidificata del semaforo e al rischio di blocco ricorsivo (recursive locking).
Si risolve il problema modificando target_core_item_dbroot_store() in modo da utilizzare kern_path() invece di filp_open() per evitare l'apertura del file tramite la funzione specifica del filesystem __configfs_open_file(), apportando ulteriori modifiche necessarie per rendere compatibile questa correzione.
If you want to get best quality of vulnerability data, you may have to visit VulDB.