In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix IS_CHECKPOINTED flag inconsistency issue caused by concurrent atomic commit and checkpoint writes
During SPO tests, when mounting F2FS, an -EINVAL error was returned from f2fs_recover_inode_page. The issue occurred under the following scenario
Thread A Thread B f2fs_ioc_commit_atomic_write - f2fs_do_sync_file // atomic = true - f2fs_fsync_node_pages : last_folio = inode folio : schedule before folio_lock(last_folio) f2fs_write_checkpoint - block_operations// writeback last_folio - schedule before f2fs_flush_nat_entries : set_fsync_mark(last_folio, 1) : set_dentry_mark(last_folio, 1) : folio_mark_dirty(last_folio) - __write_node_folio(last_folio) : f2fs_down_read(&sbi->node_write)//block - f2fs_flush_nat_entries : {struct nat_entry}->flag |= BIT(IS_CHECKPOINTED) - unblock_operations : f2fs_up_write(&sbi->node_write) f2fs_write_checkpoint//return : f2fs_do_write_node_page() f2fs_ioc_commit_atomic_write//return SPO
Thread A calls f2fs_need_dentry_mark(sbi, ino), and the last_folio has already been written once. However, the {struct nat_entry}->flag did not have the IS_CHECKPOINTED set, causing set_dentry_mark(last_folio, 1) and write last_folio again after Thread B finishes f2fs_write_checkpoint.
After SPO and reboot, it was detected that {struct node_info}->blk_addr was not NULL_ADDR because Thread B successfully write the checkpoint.
This issue only occurs in atomic write scenarios. For regular file fsync operations, the folio must be dirty. If block_operations->f2fs_sync_node_pages successfully submit the folio write, this path will not be executed. Otherwise, the f2fs_write_checkpoint will need to wait for the folio write submission to complete, as sbi->nr_pages[F2FS_DIRTY_NODES] > 0. Therefore, the situation where f2fs_need_dentry_mark checks that the {struct nat_entry}->flag /wo the IS_CHECKPOINTED flag, but the folio write has already been submitted, will not occur.
Therefore, for atomic file fsync, sbi->node_write should be acquired through __write_node_folio to ensure that the IS_CHECKPOINTED flag correctly indicates that the checkpoint write has been completed.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Mar 20, 2026 | Mar 20, 2026 |
| Ubuntu | — | Upgrade linux-image-xilinx-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1057-oracle-64kUpgrade linux-image-aws-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-azure-fde-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-azure-fips-6.8Upgrade linux-image-6.8.0-1029-nvidia-tegra-rtUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-20.04dUpgrade linux-image-laptop-23.10Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-realtimeUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-1057-oracleUpgrade linux-image-fips-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-intel-iotgUpgrade linux-image-generic-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-oem-20.04Upgrade linux-image-6.8.0-1058-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1060-aws-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-aws-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-oem-22.04dUpgrade linux-image-gke-64k-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-raspiUpgrade linux-image-6.8.0-1063-azureUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-134-lowlatency-64kUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-gcpUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-raspi-6.8Upgrade linux-image-6.8.0-1060-ibmUpgrade linux-image-gkeUpgrade linux-image-nvidia-tegraUpgrade linux-image-6.8.1-1055-realtimeUpgrade linux-image-6.8.0-1058-gke-64kUpgrade linux-image-gcp-64kUpgrade linux-image-azure-6.8Upgrade linux-image-kvmUpgrade linux-image-oem-22.04cUpgrade linux-image-aws-64k-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-6.8.0-1062-azure-fipsUpgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1045-gkeopUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-2049-raspi-realtimeUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-gkeopUpgrade linux-image-generic-64k-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-xilinxUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-generic-6.8Upgrade linux-image-azureUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1063-gcp-fipsUpgrade linux-image-6.8.0-1029-nvidia-tegraUpgrade linux-image-gkeop-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-134-genericUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1063-gcp-64kUpgrade linux-image-6.8.0-1060-aws-fipsUpgrade linux-image-lowlatencyUpgrade linux-image-nvidiaUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oem-22.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.8.0-1060-raspiUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-ibmUpgrade linux-image-gke-64kUpgrade linux-image-fipsUpgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1058-nvidiaUpgrade linux-image-oem-20.04bUpgrade linux-image-ibm-classicUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oracleUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-1063-gcpUpgrade linux-image-6.8.0-134-lowlatencyUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1058-nvidia-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1032-xilinxUpgrade linux-image-6.8.0-1058-nvidia-lowlatencyUpgrade linux-image-oem-22.04aUpgrade linux-image-6.8.0-1060-awsUpgrade linux-image-aws-fipsUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-6.8.0-134-fipsUpgrade linux-image-awsUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-virtualUpgrade linux-image-genericUpgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-6.8.0-1058-gkeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gcp-6.8Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-134-generic-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-hwe-22.04 | Jul 2, 2026 | Jul 1, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Mar 18, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub