CVE-2026-53017
Received Received - Intake
Data Loss in Linux Kernel F2FS Filesystem

Publication date: 2026-06-24

Last updated on: 2026-06-24

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix data loss caused by incorrect use of nat_entry flag Data loss can occur when fsync is performed on a newly created file (before any checkpoint has been written) concurrently with a checkpoint operation. The scenario is as follows: create & write & fsync 'file A' write checkpoint - f2fs_do_sync_file // inline inode - f2fs_write_inode // inode folio is dirty - f2fs_write_checkpoint - f2fs_flush_merged_writes - f2fs_sync_node_pages - f2fs_flush_nat_entries - f2fs_fsync_node_pages // no dirty node - f2fs_need_inode_block_update // return false SPO and lost 'file A' f2fs_flush_nat_entries() sets the IS_CHECKPOINTED and HAS_LAST_FSYNC flags for the nat_entry, but this does not mean that the checkpoint has actually completed successfully. However, f2fs_need_inode_block_update() checks these flags and incorrectly assumes that the checkpoint has finished. The root cause is that the semantics of IS_CHECKPOINTED and HAS_LAST_FSYNC are only guaranteed after the checkpoint write fully completes. This patch modifies f2fs_need_inode_block_update() to acquire the sbi->node_write lock before reading the nat_entry flags, ensuring that once IS_CHECKPOINTED and HAS_LAST_FSYNC are observed to be set, the checkpoint operation has already completed.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-24
Last Modified
2026-06-24
Generated
2026-06-25
AI Q&A
2026-06-24
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux_kernel f2fs *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in the Linux kernel's f2fs filesystem and involves incorrect handling of certain flags (IS_CHECKPOINTED and HAS_LAST_FSYNC) related to checkpoint operations.

When a newly created file is written and fsync is called before any checkpoint has been fully written, a race condition can occur between the fsync operation and the checkpoint write.

The function f2fs_flush_nat_entries() sets flags indicating a checkpoint is done, but this does not guarantee the checkpoint has actually completed successfully. Another function, f2fs_need_inode_block_update(), incorrectly assumes the checkpoint is finished based on these flags.

This incorrect assumption can lead to data loss because the system may consider the file data safely checkpointed when it is not.

The fix involves acquiring a lock before reading these flags to ensure the checkpoint operation has truly completed before proceeding.

Impact Analysis

This vulnerability can cause data loss when using the f2fs filesystem on Linux.

Specifically, if a newly created file is written and fsync is called concurrently with a checkpoint operation, the system might incorrectly assume the data is safely stored when it is not.

As a result, important file data could be lost, potentially leading to corruption or loss of critical information.

Mitigation Strategies

The vulnerability is caused by a race condition in the f2fs filesystem implementation in the Linux kernel, leading to potential data loss during concurrent fsync and checkpoint operations.

Immediate mitigation steps include updating the Linux kernel to a version where this issue is fixed, as the patch modifies the f2fs_need_inode_block_update() function to properly synchronize access to nat_entry flags.

Until the kernel is updated, avoid heavy concurrent fsync operations on newly created files in f2fs filesystems to reduce the risk of data loss.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-53017. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart