CVE-2022-50273

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
15/09/2025
Last modified:
15/09/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> f2fs: fix to do sanity check on destination blkaddr during recovery<br /> <br /> As Wenqing Liu reported in bugzilla:<br /> <br /> https://bugzilla.kernel.org/show_bug.cgi?id=216456<br /> <br /> loop5: detected capacity change from 0 to 131072<br /> F2FS-fs (loop5): recover_inode: ino = 6, name = hln, inline = 1<br /> F2FS-fs (loop5): recover_data: ino = 6 (i_size: recover) err = 0<br /> F2FS-fs (loop5): recover_inode: ino = 6, name = hln, inline = 1<br /> F2FS-fs (loop5): recover_data: ino = 6 (i_size: recover) err = 0<br /> F2FS-fs (loop5): recover_inode: ino = 6, name = hln, inline = 1<br /> F2FS-fs (loop5): recover_data: ino = 6 (i_size: recover) err = 0<br /> F2FS-fs (loop5): Bitmap was wrongly set, blk:5634<br /> ------------[ cut here ]------------<br /> WARNING: CPU: 3 PID: 1013 at fs/f2fs/segment.c:2198<br /> RIP: 0010:update_sit_entry+0xa55/0x10b0 [f2fs]<br /> Call Trace:<br /> <br /> f2fs_do_replace_block+0xa98/0x1890 [f2fs]<br /> f2fs_replace_block+0xeb/0x180 [f2fs]<br /> recover_data+0x1a69/0x6ae0 [f2fs]<br /> f2fs_recover_fsync_data+0x120d/0x1fc0 [f2fs]<br /> f2fs_fill_super+0x4665/0x61e0 [f2fs]<br /> mount_bdev+0x2cf/0x3b0<br /> legacy_get_tree+0xed/0x1d0<br /> vfs_get_tree+0x81/0x2b0<br /> path_mount+0x47e/0x19d0<br /> do_mount+0xce/0xf0<br /> __x64_sys_mount+0x12c/0x1a0<br /> do_syscall_64+0x38/0x90<br /> entry_SYSCALL_64_after_hwframe+0x63/0xcd<br /> <br /> If we enable CONFIG_F2FS_CHECK_FS config, it will trigger a kernel panic<br /> instead of warning.<br /> <br /> The root cause is: in fuzzed image, SIT table is inconsistent with inode<br /> mapping table, result in triggering such warning during SIT table update.<br /> <br /> This patch introduces a new flag DATA_GENERIC_ENHANCE_UPDATE, w/ this<br /> flag, data block recovery flow can check destination blkaddr&amp;#39;s validation<br /> in SIT table, and skip f2fs_replace_block() to avoid inconsistent status.

Impact