CVE-2025-38218

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to do sanity check on sit_bitmap_size w/ below testcase, resize will generate a corrupted image which contains inconsistent metadata, so when mounting such image, it will trigger kernel panic: touch img truncate -s $((512*1024*1024*1024)) img mkfs.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 PTI CPU: 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/2014 RIP: 0010:f2fs_ra_meta_pages+0x47c/0x490 Call 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/0x7e RIP: 0033:0x7fdbfde1bcfe The reaseon is: sit_i->bitmap_size is 192, so size of sit bitmap is 192*8=1536, at maximum there are 1536 sit blocks, however MAIN_SEGS is 261893, so that sit_blk_cnt is 4762, build_sit_entries() -> current_sit_addr() tries to access out-of-boundary in sit_bitmap at offset from [1536, 4762), once sit_bitmap and 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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

Configuration 2 (hide)

cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*

History

18 Dec 2025, 20:00

Type Values Removed Values Added
CWE NVD-CWE-noinfo
First Time Linux
Debian
Debian debian Linux
Linux linux Kernel
References () https://git.kernel.org/stable/c/38ef48a8afef8df646b6f6ae7abb872f18b533c1 - () https://git.kernel.org/stable/c/38ef48a8afef8df646b6f6ae7abb872f18b533c1 - Patch
References () https://git.kernel.org/stable/c/3e5ac62a56a24f4d88ce8ffd7bc452428b235868 - () https://git.kernel.org/stable/c/3e5ac62a56a24f4d88ce8ffd7bc452428b235868 - Patch
References () https://git.kernel.org/stable/c/5db0d252c64e91ba1929c70112352e85dc5751e7 - () https://git.kernel.org/stable/c/5db0d252c64e91ba1929c70112352e85dc5751e7 - Patch
References () https://git.kernel.org/stable/c/79ef8a6c4ec53d327580fd7d2b522cf4f1d05b0c - () https://git.kernel.org/stable/c/79ef8a6c4ec53d327580fd7d2b522cf4f1d05b0c - Patch
References () https://git.kernel.org/stable/c/82f51bff393e4c12cf4de553120ca831cfa4ef19 - () https://git.kernel.org/stable/c/82f51bff393e4c12cf4de553120ca831cfa4ef19 - Patch
References () https://git.kernel.org/stable/c/ad862f71016ba38039df1c96ed55c0a4314cc183 - () https://git.kernel.org/stable/c/ad862f71016ba38039df1c96ed55c0a4314cc183 - Patch
References () https://git.kernel.org/stable/c/ee1b421c469876544e297ec1090574bd76100247 - () https://git.kernel.org/stable/c/ee1b421c469876544e297ec1090574bd76100247 - Patch
References () https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html - () https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html - Third Party Advisory, Mailing List
References () https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html - () https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html - Third Party Advisory, Mailing List
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CPE cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

03 Nov 2025, 18:16

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html -
  • () https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html -

08 Jul 2025, 16:18

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: f2fs: corrección para realizar una comprobación de cordura en sit_bitmap_size con el siguiente caso de prueba, el cambio de tamaño generará una imagen dañada que contiene metadatos inconsistentes, por lo que al montar dicha imagen, activará el pánico del kernel: touch img truncate -s $((512*1024*1024*1024)) img mkfs.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 PTI CPU: 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/2014 RIP: 0010:f2fs_ra_meta_pages+0x47c/0x490 Call 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/0x7e RIP: 0033:0x7fdbfde1bcfe La razón es: sit_i->bitmap_size es 192, por lo que el tamaño del mapa de bits sit es 192*8=1536, como máximo hay 1536 bloques sit, sin embargo MAIN_SEGS es 261893, por lo que sit_blk_cnt es 4762, build_sit_entries() -> current_sit_addr() intenta acceder fuera de los límites en sit_bitmap en el desplazamiento de [1536, 4762), si sit_bitmap y sit_bitmap_mirror no coinciden, se activará f2fs_bug_on(). Agreguemos una comprobación de validez en f2fs_sanity_check_ckpt() para evitar problemas.

04 Jul 2025, 14:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-07-04 14:15

Updated : 2025-12-18 20:00


NVD link : CVE-2025-38218

Mitre link : CVE-2025-38218

CVE.ORG link : CVE-2025-38218


JSON object : View

Products Affected

debian

  • debian_linux

linux

  • linux_kernel