CVE-2024-56586 in Linux
Riassunto
di VulDB • 14/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
f2fs: corregge il verificarsi di f2fs_bug_on quando l'operazione di disinstallazione del filesystem chiama f2fs_evict_inode.
La creazione di file di grandi dimensioni durante la fase in cui il checkpoint è disabilitato, fino all'esaurimento dello spazio disponibile, seguita dalla loro eliminazione e dal successivo rimount per riattivare nuovamente il checkpoint, provoca l'attivazione dell'errore f2fs_bug_on come mostrato di seguito:
------------[ cut here ]------------
kernel BUG at fs/f2fs/inode.c:896! CPU: 2 UID: 0 PID: 1286 Comm: umount Not tainted 6.11.0-rc7-dirty #360 Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
RIP: 0010:f2fs_evict_inode+0x58c/0x610 Call Trace: __die_body+0x15/0x60 die+0x33/0x50 do_trap+0x10a/0x120 f2fs_evict_inode+0x58c/0x610 do_error_trap+0x60/0x80 f2fs_evict_inode+0x58c/0x610 exc_invalid_op+0x53/0x60 f2fs_evict_inode+0x58c/0x610 asm_exc_invalid_op+0x16/0x20 f2fs_evict_inode+0x58c/0x610 evict+0x101/0x260 dispose_list+0x30/0x50 evict_inodes+0x140/0x190 generic_shutdown_super+0x2f/0x150 kill_block_super+0x11/0x40 kill_f2fs_super+0x7d/0x140 deactivate_locked_super+0x2a/0x70 cleanup_mnt+0xb3/0x140 task_work_run+0x61/0x90
La causa radice è la seguente: la creazione di file di grandi dimensioni durante il periodo in cui il checkpoint è disabilitato comporta un numero insufficiente di segmenti liberi. Di conseguenza, quando si tenta di scrivere nuovamente l'inode root (root inode), questa operazione fallisce all'interno di f2fs_enable_checkpoint. Quando si smonta il filesystem dopo aver riattivato il checkpoint, l'inode root risulta sporco ("dirty") nella funzione f2fs_evict_inode, il che innesca un errore BUG_ON. I passaggi per riprodurre il problema sono i seguenti:
dd if=/dev/zero of=f2fs.img bs=1M count=55 mount f2fs.img f2fs_dir -o checkpoint=disable:10% dd if=/dev/zero of=big bs=1M count=50 sync rm big mount -o remount,checkpoint=enable f2fs_dir umount f2fs_dir
Si rende sporco ("redirty") l'inode quando non ci sono segmenti liberi durante la fase in cui il checkpoint è disabilitato.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.