{"id":"CVE-2025-38677","summary":"f2fs: fix to avoid out-of-boundary access in dnode page","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix to avoid out-of-boundary access in dnode page\n\nAs Jiaming Zhang reported:\n\n \u003cTASK\u003e\n __dump_stack lib/dump_stack.c:94 [inline]\n dump_stack_lvl+0x1c1/0x2a0 lib/dump_stack.c:120\n print_address_description mm/kasan/report.c:378 [inline]\n print_report+0x17e/0x800 mm/kasan/report.c:480\n kasan_report+0x147/0x180 mm/kasan/report.c:593\n data_blkaddr fs/f2fs/f2fs.h:3053 [inline]\n f2fs_data_blkaddr fs/f2fs/f2fs.h:3058 [inline]\n f2fs_get_dnode_of_data+0x1a09/0x1c40 fs/f2fs/node.c:855\n f2fs_reserve_block+0x53/0x310 fs/f2fs/data.c:1195\n prepare_write_begin fs/f2fs/data.c:3395 [inline]\n f2fs_write_begin+0xf39/0x2190 fs/f2fs/data.c:3594\n generic_perform_write+0x2c7/0x910 mm/filemap.c:4112\n f2fs_buffered_write_iter fs/f2fs/file.c:4988 [inline]\n f2fs_file_write_iter+0x1ec8/0x2410 fs/f2fs/file.c:5216\n new_sync_write fs/read_write.c:593 [inline]\n vfs_write+0x546/0xa90 fs/read_write.c:686\n ksys_write+0x149/0x250 fs/read_write.c:738\n do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]\n do_syscall_64+0xf3/0x3d0 arch/x86/entry/syscall_64.c:94\n entry_SYSCALL_64_after_hwframe+0x77/0x7f\n\nThe root cause is in the corrupted image, there is a dnode has the same\nnode id w/ its inode, so during f2fs_get_dnode_of_data(), it tries to\naccess block address in dnode at offset 934, however it parses the dnode\nas inode node, so that get_dnode_addr() returns 360, then it tries to\naccess page address from 360 + 934 * 4 = 4096 w/ 4 bytes.\n\nTo fix this issue, let's add sanity check for node id of all direct nodes\nduring f2fs_get_dnode_of_data().","modified":"2026-04-16T04:43:19.180934615Z","published":"2025-08-30T09:19:02.596Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38677.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/6b7784ea07e6aa044f74b39d6b5af5e28746fc81"},{"type":"WEB","url":"https://git.kernel.org/stable/c/77de19b6867f2740cdcb6c9c7e50d522b47847a4"},{"type":"WEB","url":"https://git.kernel.org/stable/c/888aa660144bcb6ec07839da756ee46bfcf7fc53"},{"type":"WEB","url":"https://git.kernel.org/stable/c/901f62efd6e855f93d8b1175540f29f4dc45ba55"},{"type":"WEB","url":"https://git.kernel.org/stable/c/92ef491b506a0f4dd971a3a76f86f2d8f5370180"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a650654365c57407413e9b1f6ff4d539bf2e99ca"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ee4d13f5407cbdf1216cc258f45492075713889a"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f1d5093d9fe9f3c74c123741c88666cc853b79c5"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38677.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-38677"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"98e4da8ca301e062d79ae168c67e56f3c3de3ce4"},{"fixed":"ee4d13f5407cbdf1216cc258f45492075713889a"},{"fixed":"a650654365c57407413e9b1f6ff4d539bf2e99ca"},{"fixed":"6b7784ea07e6aa044f74b39d6b5af5e28746fc81"},{"fixed":"901f62efd6e855f93d8b1175540f29f4dc45ba55"},{"fixed":"92ef491b506a0f4dd971a3a76f86f2d8f5370180"},{"fixed":"888aa660144bcb6ec07839da756ee46bfcf7fc53"},{"fixed":"f1d5093d9fe9f3c74c123741c88666cc853b79c5"},{"fixed":"77de19b6867f2740cdcb6c9c7e50d522b47847a4"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38677.json"}}],"schema_version":"1.7.5"}