Vulnerability CVE-2024-26869


Published: 2024-04-17

Description:
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.

 References:
https://git.kernel.org/stable/c/c92f2927df860a60ba815d3ee610a944b92a8694
https://git.kernel.org/stable/c/77bfdb89cc222fc7bfe198eda77bdc427d5ac189
https://git.kernel.org/stable/c/04226d8e3c4028dc451e9d8777356ec0f7919253
https://git.kernel.org/stable/c/9f0c4a46be1fe9b97dbe66d49204c1371e3ece65

Copyright 2024, cxsecurity.com

 

Back to Top