CVE-2026-53017
Medium · 5.5CVSS
5.5
EPSS
0.2%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
On systems using a specific Linux filesystem, recently saved files may disappear after an unexpected shutdown even when applications tried to save them safely.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
This is a race condition in the Linux kernel F2FS filesystem checkpoint and fsync handling. When a newly created file is written and fsync is called before any checkpoint has completed, a concurrent checkpoint operation can cause F2FS to incorrectly interpret NAT entry flags as proof that the inode state was safely checkpointed. Because those flags are only reliable after the checkpoint fully completes, the filesystem may skip an inode block update that is still required. If a sudden power-off, crash, or forced reboot occurs in that window, the newly created file can be lost despite fsync having returned successfully.
Why it matters to the business
Systems using F2FS may lose recently created or updated files after an unexpected shutdown, which can affect data integrity, application reliability, mobile/embedded device behavior, and systems that depend on fsync for durable writes. This is not currently known to be exploited in the wild, is not listed in CISA KEV, and has a low EPSS score, so the urgency is primarily driven by operational exposure to F2FS and tolerance for data loss rather than active attacker activity.
How an attack unfolds
An attacker would need the ability to trigger file creation/write/fsync activity on an F2FS-mounted filesystem and cause or wait for a concurrent checkpoint operation. The vulnerable race occurs when fsync on a newly created file overlaps with checkpoint processing, causing F2FS to observe NAT entry flags in a state that appears durable before the checkpoint has actually completed. If the system then experiences a sudden power interruption, crash, or reboot before the missing inode update is persisted, the file may be absent after recovery. In most practical scenarios this is more likely to be triggered accidentally by workload and power-loss timing than deliberately exploited remotely, unless an attacker already has local code execution or a way to induce crashes or power interruptions.
How to fix it
Upgrade to a Linux kernel version or vendor kernel package that includes the F2FS fix for this race in f2fs_need_inode_block_update(), specifically the change that synchronizes NAT entry flag reads with the node_write lock. Because no exact fixed package versions were provided, use the relevant distribution, device vendor, or kernel-stable advisory to identify the corrected kernel build for each platform. Where immediate patching is not possible, reduce risk by avoiding F2FS for workloads with strict durability requirements, minimizing unexpected shutdowns, ensuring reliable power and graceful shutdown behavior, and considering alternative filesystems for data that must survive crashes with strong fsync guarantees.
How to confirm the fix worked
Confirm exposure by checking whether any mounted filesystems use F2FS and whether the running kernel includes the upstream or vendor backport for this fix. Validate remediation by comparing the installed kernel package against the vendor advisory or by confirming the kernel source contains the corrected locking behavior in f2fs_need_inode_block_update(). Operationally, perform controlled crash-consistency testing only in non-production environments: create and fsync new files on F2FS under checkpoint pressure, simulate abrupt shutdowns, and verify files remain present after recovery. Do not rely on the absence of errors in normal logs as proof of safety, because the failure mode can be silent data loss.
Typical attack path
- Identify a system or device using an affected Linux kernel with an F2FS-mounted filesystem.
- Gain the ability to create and write files on that filesystem, typically through local access, a compromised application, or a service that writes attacker-controlled content.
- Generate workload that creates a new file, writes data, and calls fsync before a checkpoint has completed.
- Trigger or rely on concurrent F2FS checkpoint activity during the fsync operation.
- Cause, induce, or wait for a sudden power-off, kernel crash, forced reboot, or similar interruption before the required inode update is safely persisted.
- After recovery, the newly created file may be missing despite the application having requested durability with fsync.
How to detect it
There are no reliable network indicators or universal host indicators that prove exploitation, because the issue manifests as a filesystem consistency failure rather than a distinctive malicious action. To investigate possible prior impact, review systems using F2FS for unexpected shutdowns, kernel panics, watchdog resets, power-loss events, or forced reboots that occurred during heavy file-creation workloads. Correlate those events with application errors indicating missing recently created files, failed recovery, absent journal/checkpoint files, missing uploaded content, truncated state directories, or post-reboot integrity checks. Useful log sources include kernel logs, systemd journal, crash dump metadata, power-management logs, application logs, storage health logs, and device watchdog/reset telemetry. Focus especially on time windows immediately before and after unclean shutdowns on F2FS mounts.
- f2fs
- F2FS-fs
- Mounted with filesystem type f2fs
- type f2fs
- EXT4-fs error
- kernel panic
- watchdog: watchdog did not stop
- watchdog: BUG: soft lockup
- systemd-journald: Journal started
- systemd-shutdown
- Power key pressed
- Power failure
- Unclean shutdown
- unexpected shutdown
- reboot: Restarting system
- Out of memory: Killed process
- I/O error
- fsync
- No such file or directory
What your security team should do
- Inventory Linux systems, appliances, mobile/embedded devices, and storage-backed workloads that use F2FS.
- Prioritize kernel updates for systems using F2FS to store application data, logs, configuration, queues, databases, or other files where silent loss would have operational impact.
- Track distribution and device-vendor advisories for the corrected kernel package because fixed versions vary by downstream kernel branch.
- For systems that cannot be patched promptly, reduce crash and power-loss risk with reliable power, graceful shutdown controls, watchdog tuning, and avoidance of forced reboots during heavy write activity.
- Review whether F2FS is appropriate for workloads that depend heavily on fsync durability guarantees; migrate high-integrity workloads where needed.
- Monitor for unexplained missing files or application recovery anomalies after crashes or power failures on F2FS-backed systems.
- Treat this as a data-integrity issue rather than a typical remote-code-execution vulnerability; prioritize based on filesystem usage and business impact.
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|