Entreprise d'experts en Sécurité Informatique : Audits et conseils en cybersécurité
Entreprise française de cybersécurité depuis 2004
☎ 03 60 47 09 81 - info@securiteinfo.com


CVE-2025-38218

Description

In the Linux kernel, the following vulnerability has been resolved:f2fs: fix to do sanity check on sit_bitmap_sizew/ below testcase, resize will generate a corrupted image whichcontains inconsistent metadata, so when mounting such image, itwill trigger kernel panic:touch imgtruncate -s $((512*1024*1024*1024)) imgmkfs.f2fs -f img $((256*1024*1024))resize.f2fs -s -i img -t $((1024*1024*1024))mount img /mnt/f2fs------------[ cut here ]------------kernel BUG at fs/f2fs/segment.h:863!Oops: invalid opcode: 0000 [#1] SMP PTICPU: 11 UID: 0 PID: 3922 Comm: mount Not tainted 6.15.0-rc1+ #191 PREEMPT(voluntary)Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014RIP: 0010:f2fs_ra_meta_pages+0x47c/0x490Call Trace: f2fs_build_segment_manager+0x11c3/0x2600 f2fs_fill_super+0xe97/0x2840 mount_bdev+0xf4/0x140 legacy_get_tree+0x2b/0x50 vfs_get_tree+0x29/0xd0 path_mount+0x487/0xaf0 __x64_sys_mount+0x116/0x150 do_syscall_64+0x82/0x190 entry_SYSCALL_64_after_hwframe+0x76/0x7eRIP: 0033:0x7fdbfde1bcfeThe reaseon is:sit_i->bitmap_size is 192, so size of sit bitmap is 192*8=1536, at maximumthere are 1536 sit blocks, however MAIN_SEGS is 261893, so that sit_blk_cntis 4762, build_sit_entries() -> current_sit_addr() tries to accessout-of-boundary in sit_bitmap at offset from [1536, 4762), once sit_bitmapand sit_bitmap_mirror is not the same, it will trigger f2fs_bug_on().Let's add sanity check in f2fs_sanity_check_ckpt() to avoid panic.

POC

Reference

No PoCs from references.

Github

- https://github.com/w4zu/Debian_security