CVE-2024-26869

Summary

In the Linux kernel, the following vulnerability has been resolved:

f2fs: fix to truncate meta inode pages forcely

Below race case can cause data corruption:

Thread A GC thread - gc_data_segment - ra_data_block - locked meta_inode page

  • f2fs_inplace_write_data
  • invalidate_mapping_pages : fail to invalidate meta_inode page due to lock failure or dirty|writeback status
  • f2fs_submit_page_bio : write last dirty data to old blkaddr - move_data_block - load old data from meta_inode page - f2fs_submit_page_write : write old data to new blkaddr

Because invalidate_mapping_pages() will skip invalidating page which has unclear status including locked, dirty, writeback and so on, so we need to use truncate_inode_pages_range() instead of invalidate_mapping_pages() to make sure meta_inode page will be dropped.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux6aa58d8ad20a3323f42274c25820a6f54192422d < c92f2927df860a60ba815d3ee610a944b92a8694affected
LinuxLinux6aa58d8ad20a3323f42274c25820a6f54192422d < 77bfdb89cc222fc7bfe198eda77bdc427d5ac189affected
LinuxLinux6aa58d8ad20a3323f42274c25820a6f54192422d < 04226d8e3c4028dc451e9d8777356ec0f7919253affected
LinuxLinux6aa58d8ad20a3323f42274c25820a6f54192422d < 9f0c4a46be1fe9b97dbe66d49204c1371e3ece65affected
LinuxLinux4.19affected
LinuxLinux0 < 4.19unaffected
LinuxLinux6.6.23 <= 6.6.*unaffected
LinuxLinux6.7.11 <= 6.7.*unaffected
LinuxLinux6.8.2 <= 6.8.*unaffected
LinuxLinux6.9 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: total

CVE Program Container

Additional References

References