{"id":"CVE-2024-26869","revision":"3e86eb1a6d87466f9d11bb0601c1cd69","records":[{"revision":"3e86eb1a6d87466f9d11bb0601c1cd69","observedAt":"2026-10-30T13:45:33.454+00:00","statement":{"source":"cve-program","id":"CVE-2024-26869","aliases":[],"title":"f2fs: fix to truncate meta inode pages forcely","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix to truncate meta inode pages forcely\n\nBelow race case can cause data corruption:\n\nThread A\t\t\t\tGC thread\n\t\t\t\t\t- gc_data_segment\n\t\t\t\t\t - ra_data_block\n\t\t\t\t\t  - locked meta_inode page\n- f2fs_inplace_write_data\n - invalidate_mapping_pages\n : fail to invalidate meta_inode page\n   due to lock failure or dirty|writeback\n   status\n - f2fs_submit_page_bio\n : write last dirty data to old blkaddr\n\t\t\t\t\t - move_data_block\n\t\t\t\t\t  - load old data from meta_inode page\n\t\t\t\t\t  - f2fs_submit_page_write\n\t\t\t\t\t  : write old data to new blkaddr\n\nBecause invalidate_mapping_pages() will skip invalidating page which\nhas unclear status including locked, dirty, writeback and so on, so\nwe need to use truncate_inode_pages_range() instead of\ninvalidate_mapping_pages() to make sure meta_inode page will be dropped.","state":0,"publishedAt":"2024-04-17T10:27:30.1+00:00","modifiedAt":"2026-10-30T12:17:55.855+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/f2fs/checkpoint.c\",\n                        \"fs/f2fs/f2fs.h\",\n                        \"fs/f2fs/segment.c\",\n                        \"include/linux/f2fs_fs.h\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6aa58d8ad20a3323f42274c25820a6f54192422d\",\n                            \"lessThan\": \"0721a4f85d12a364002a9476c84b930fbc993f83\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6aa58d8ad20a3323f42274c25820a6f54192422d\",\n                            \"lessThan\": \"c92f2927df860a60ba815d3ee610a944b92a8694\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6aa58d8ad20a3323f42274c25820a6f54192422d\",\n                            \"lessThan\": \"77bfdb89cc222fc7bfe198eda77bdc427d5ac189\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6aa58d8ad20a3323f42274c25820a6f54192422d\",\n                            \"lessThan\": \"04226d8e3c4028dc451e9d8777356ec0f7919253\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6aa58d8ad20a3323f42274c25820a6f54192422d\",\n                            \"lessThan\": \"9f0c4a46be1fe9b97dbe66d49204c1371e3ece65\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/f2fs/checkpoint.c\",\n                        \"fs/f2fs/f2fs.h\",\n                        \"fs/f2fs/segment.c\",\n                        \"include/linux/f2fs_fs.h\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.19\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.19\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.191\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.23\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.7.11\",\n                            \"lessThanOrEqual\": \"6.7.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.8.2\",\n                            \"lessThanOrEqual\": \"6.8.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.9\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","score":7.8,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/0721a4f85d12a364002a9476c84b930fbc993f83","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"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2024-26869","license":"CVE Program Terms of Use","key":"cve-program:CVE-2024-26869","identifiers":["CVE-2024-26869"]},"retained":false,"historicalAffected":[]}],"coverage":[]}