CVE-2025-38163
NoneCVSS
—
EPSS
0.2%
Published
Jul 3, 2025
CISA due date
—
Cloudanix analysis
A flaw in how Linux handles certain storage formats could let a malicious file system image crash the whole computer.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Improper Input Validation
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
In f2fs, inconsistent sbi->total_valid_block_count versus inode-mapped blocks on a fuzzed image triggers a kernel BUG/panic in dec_valid_block_count instead of logging and setting fsck flag.
Why it matters to the business
Potential denial-of-service crashes on any Linux system using the f2fs filesystem when presented with malicious or corrupted images; widespread Linux kernel prevalence increases exposure surface though exploitation remains unconfirmed in the wild.
How an attack unfolds
An attacker supplies a fuzzed f2fs image; the victim mounts it and performs file operations such as creat or truncate that reach f2fs_truncate_inode_blocks, exposing the block-count inconsistency and forcing a kernel panic.
How to fix it
Upgrade to a kernel containing commit 49bc7bf38e42cfa642787e947f5721696ea73ac3 or the Mageia SDL12 package 1.2.15-26.1.mga8; rebuild and reboot all affected systems.
How to confirm the fix worked
Confirm kernel git commit or package version matches fixed release; replay syzbot-style fuzzed-image truncate workloads and verify absence of the f2fs.h:2521 BUG.
Typical attack path
- Craft or obtain fuzzed f2fs filesystem image
- Mount the image on a vulnerable Linux kernel
- Trigger file creation or truncation via open/creat/truncate syscalls
- Reach dec_valid_block_count with mismatched counts causing BUG
How to detect it
Search kernel logs and crash reports for the exact BUG line fs/f2fs/f2fs.h:2521 or the function dec_valid_block_count during f2fs truncate paths; correlate with recent mount of external f2fs volumes.
- kernel BUG at fs/f2fs/f2fs.h:2521
- dec_valid_block_count+0x3b2/0x3c0
- f2fs_truncate_data_blocks_range
- f2fs_do_truncate_blocks
What your security team should do
- Prioritize kernel package updates on all f2fs-using hosts within standard patching windows
- Add f2fs mount restrictions or read-only policies where untrusted images may be processed
- Include the f2fs BUG signature in kernel oops monitoring rules
The record
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to do sanity check on sbi->total_valid_block_count syzbot reported a f2fs bug as below: ------------[ cut here ]------------ kernel BUG at fs/f2fs/f2fs.h:2521! RIP: 0010:dec_valid_block_count+0x3b2/0x3c0 fs/f2fs/f2fs.h:2521 Call Trace: f2fs_truncate_data_blocks_range+0xc8c/0x11a0 fs/f2fs/file.c:695 truncate_dnode+0x417/0x740 fs/f2fs/node.c:973 truncate_nodes+0x3ec/0xf50 fs/f2fs/node.c:1014 f2fs_truncate_inode_blocks+0x8e3/0x1370 fs/f2fs/node.c:1197 f2fs_do_truncate_blocks+0x840/0x12b0 fs/f2fs/file.c:810 f2fs_truncate_blocks+0x10d/0x300 fs/f2fs/file.c:838 f2fs_truncate+0x417/0x720 fs/f2fs/file.c:888 f2fs_setattr+0xc4f/0x12f0 fs/f2fs/file.c:1112 notify_change+0xbca/0xe90 fs/attr.c:552 do_truncate+0x222/0x310 fs/open.c:65 handle_truncate fs/namei.c:3466 [inline] do_open fs/namei.c:3849 [inline] path_openat+0x2e4f/0x35d0 fs/namei.c:4004 do_filp_open+0x284/0x4e0 fs/namei.c:4031 do_sys_openat2+0x12b/0x1d0 fs/open.c:1429 do_sys_open fs/open.c:1444 [inline] __do_sys_creat fs/open.c:1522 [inline] __se_sys_creat fs/open.c:1516 [inline] __x64_sys_creat+0x124/0x170 fs/open.c:1516 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/syscall_64.c:94 The reason is: in fuzzed image, sbi->total_valid_block_count is inconsistent w/ mapped blocks indexed by inode, so, we should not trigger panic for such case, instead, let's print log and set fsck flag.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:12 | linux | 0 | No fix |
| Debian:13 | linux | 0 | No fix |
| Debian:14 | linux | 0 | 6.12.35-1 |
| Linux | Kernel | 3.8.0 | 5.4.295 |
| Mageia:9 | kernel | 0 | 6.6.101-1.mga9 |
| Mageia:9 | kernel-linus | 0 | 6.6.101-1.mga9 |
| Mageia:9 | kmod-virtualbox | 0 | 7.1.10-7.mga9 |
| Mageia:9 | kmod-xtables-addons | 0 | 3.24-83.mga9 |
| Mageia:9 | wireless-regdb | 0 | 20250710-1.mga9 |
Related vulnerabilities
- CVE-2025-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39869 In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: edma… Also affects linux
- CVE-2025-39873 In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can… Also affects linux
- CVE-2025-39863 In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix… Also affects linux
- CVE-2025-39865 In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer… Also affects linux
- CVE-2025-39866 In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix… Also affects linux