CVE-2025-38163

f2fs: fix to do sanity check on sbi->total_valid_block_count

State
Published
Severity
Not scored
Published
Jul 3, 2025
Updated
May 11, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5 to before 49bc7bf38e42cfa642787e947f5721696ea73ac3Affected
  • 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5 to before f1b743c1955151bd392539b739a3ad155296be13Affected
  • 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5 to before 6a324d77f7ea1a91d55c4b6ad970e3ac9ab6a20dAffected
  • 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5 to before 25f3776b58c1c45ad2e50ab4b263505b4d2378caAffected
  • 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5 to before a39cc43efc1bca74ed9d6cf9e60b995071f7d178Affected
  • 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5 to before 65b3f76592aed5a43c4d79375ac097acf975972bAffected
  • 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5 to before ccc28c0397f75a3ec9539cceed9db014d7b73869Affected
  • 39a53e0ce0df01b3cf4bb898c7ae2fd2189647d5 to before 05872a167c2cab80ef186ef23cc34a6776a1a30cAffected
LinuxLinux
  • 3.8Affected
  • before 3.8Not affected
  • 5.4.295 through 5.4.*Not affected
  • 5.10.239 through 5.10.*Not affected
  • 5.15.186 through 5.15.*Not affected
  • 6.1.142 through 6.1.*Not affected
  • 6.6.94 through 6.6.*Not affected
  • 6.12.34 through 6.12.*Not affected
  • 6.15.3 through 6.15.*Not affected
  • 6.16 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.