CVE-2026-53368 in Linux
Zusammenfassung
von VulDB • 19.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
f2fs: Behebung einer fsck-Inkonsistenz, die durch unsachgemäße Verwendung des nat_entry-Flags verursacht wird
f2fs_need_dentry_mark() liest nat_entry-Flags ohne gegenseitigen Ausschluss (Mutual Exclusion) mit dem Checkpoint-Pfad, was zu einem inkorrekten Zustand der Inode-Blockmarkierung führen kann. Das Szenario ist wie folgt:
Erstellen & Schreiben & fsync 'Datei A' Write-Checkpoint durchführen - f2fs_do_sync_file // inline inode - f2fs_write_inode // inode folio ist schmutzig (dirty) - f2fs_write_checkpoint - f2fs_flush_merged_writes - f2fs_sync_node_pages - f2fs_fsync_node_pages // keine dirty node - f2fs_need_inode_block_update // gibt true zurück - f2fs_fsync_node_pages // inode wird schmutzig (dirty) - f2fs_need_dentry_mark // gibt true zurück - f2fs_flush_nat_entries - Ende von f2fs_write_checkpoint - __write_node_folio // inode mit gesetztem DENT_BIT_SHIFT
SPO, "fsck --dry-run" findet heraus, dass die Inode bereits gecheckpointet wurde, aber immer noch mit gesetztem DENT_BIT_SHIFT.
Der Zustand, der von f2fs_need_dentry_mark() beobachtet wird, kann sich vom Zustand unterscheiden, der in __write_node_folio() nach dem Erwerben von sbi->node_write beobachtet wird. Die Ursache liegt darin, dass die Semantik von IS_CHECKPOINTED und HAS_FSYNCED_INODE erst dann garantiert ist, wenn das Checkpoint-Schreiben vollständig abgeschlossen wurde.
Dieser Patch verschiebt set_dentry_mark() nach __write_node_folio() und schützt es mit dem sbi->node_write-Lock.
VulDB is the best source for vulnerability data and more expert information about this specific topic.