{"id":69152,"date":"2025-08-30T16:32:10","date_gmt":"2025-08-30T13:02:10","guid":{"rendered":"https:\/\/afaghhosting.net\/blog\/cve-2025-38677-f2fs-linux-kernel-out-of-boundary-access-vulnerability\/"},"modified":"2025-08-30T16:32:10","modified_gmt":"2025-08-30T13:02:10","slug":"cve-2025-38677-f2fs-linux-kernel-out-of-boundary-access-vulnerability","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/cve-2025-38677-f2fs-linux-kernel-out-of-boundary-access-vulnerability\/","title":{"rendered":"CVE-2025-38677 &#8211; F2FS Linux Kernel Out-of-Boundary Access Vulnerability"},"content":{"rendered":"<p><strong>CVE ID : <\/strong>CVE-2025-38677<br \/>\n<br \/>\n<strong>Published : <\/strong> Aug. 30, 2025, 10:15 a.m. | 2\u00a0hours, 39\u00a0minutes ago<br \/>\n<br \/>\n<strong>Description : <\/strong>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>f2fs: fix to avoid out-of-boundary access in dnode page<\/p>\n<p>As Jiaming Zhang reported:<\/p>\n<p> __dump_stack lib\/dump_stack.c:94 [inline]\n dump_stack_lvl+0x1c1\/0x2a0 lib\/dump_stack.c:120<br \/>\n print_address_description mm\/kasan\/report.c:378 [inline]\n print_report+0x17e\/0x800 mm\/kasan\/report.c:480<br \/>\n kasan_report+0x147\/0x180 mm\/kasan\/report.c:593<br \/>\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<br \/>\n f2fs_reserve_block+0x53\/0x310 fs\/f2fs\/data.c:1195<br \/>\n prepare_write_begin fs\/f2fs\/data.c:3395 [inline]\n f2fs_write_begin+0xf39\/0x2190 fs\/f2fs\/data.c:3594<br \/>\n generic_perform_write+0x2c7\/0x910 mm\/filemap.c:4112<br \/>\n f2fs_buffered_write_iter fs\/f2fs\/file.c:4988 [inline]\n f2fs_file_write_iter+0x1ec8\/0x2410 fs\/f2fs\/file.c:5216<br \/>\n new_sync_write fs\/read_write.c:593 [inline]\n vfs_write+0x546\/0xa90 fs\/read_write.c:686<br \/>\n ksys_write+0x149\/0x250 fs\/read_write.c:738<br \/>\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<br \/>\n entry_SYSCALL_64_after_hwframe+0x77\/0x7f<\/p>\n<p>The root cause is in the corrupted image, there is a dnode has the same<br \/>\nnode id w\/ its inode, so during f2fs_get_dnode_of_data(), it tries to<br \/>\naccess block address in dnode at offset 934, however it parses the dnode<br \/>\nas inode node, so that get_dnode_addr() returns 360, then it tries to<br \/>\naccess page address from 360 + 934 * 4 = 4096 w\/ 4 bytes.<\/p>\n<p>To fix this issue, let&#8217;s add sanity check for node id of all direct nodes<br \/>\nduring f2fs_get_dnode_of_data().<br \/>\n<br \/>\n<strong>Severity:<\/strong> 0.0 | NA<br \/>\n<br \/>\nVisit the link for more details, such as CVSS details, affected products, timeline, and more&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CVE ID : CVE-2025-38677 Published : Aug. 30, 2025, 10:15 a.m. | 2\u00a0hours, 39\u00a0minutes ago Description : In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to avoid out-of-boundary access in dnode page As Jiaming Zhang reported: __dump_stack lib\/dump_stack.c:94 [inline] dump_stack_lvl+0x1c1\/0x2a0 lib\/dump_stack.c:120 print_address_description mm\/kasan\/report.c:378 [inline] print_report+0x17e\/0x800 mm\/kasan\/report.c:480 kasan_report+0x147\/0x180 mm\/kasan\/report.c:593 data_blkaddr fs\/f2fs\/f2fs.h:3053 [inline] &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-69152","post","type-post","status-publish","format-standard","hentry","category-vulnerability"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/69152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=69152"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/69152\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=69152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=69152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=69152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}