CVE-2022-49361

Summary

In the Linux kernel, the following vulnerability has been resolved:

f2fs: fix to do sanity check for inline inode

Yanming reported a kernel bug in Bugzilla kernel [1], which can be reproduced. The bug message is:

The kernel message is shown below:

kernel BUG at fs/inode.c:611! Call Trace: evict+0x282/0x4e0 __dentry_kill+0x2b2/0x4d0 dput+0x2dd/0x720 do_renameat2+0x596/0x970 __x64_sys_rename+0x78/0x90 do_syscall_64+0x3b/0x90

[1] https://bugzilla.kernel.org/show_bug.cgi?id=215895

The bug is due to fuzzed inode has both inline_data and encrypted flags. During f2fs_evict_inode(), as the inode was deleted by rename(), it will cause inline data conversion due to conflicting flags. The page cache will be polluted and the panic will be triggered in clear_inode().

Try fixing the bug by doing more sanity checks for inline data inode in sanity_check_inode().

Affected Software

VendorProductVersion RangeStatus
LinuxLinux98e4da8ca301e062d79ae168c67e56f3c3de3ce4 < efdefbe8b7564602ab446474788225a1f2a323b5affected
LinuxLinux98e4da8ca301e062d79ae168c67e56f3c3de3ce4 < 7cfe2d43becaf76e562b9617d2c2d9b445f86761affected
LinuxLinux98e4da8ca301e062d79ae168c67e56f3c3de3ce4 < 11c1cd032df85df3c096a57a7f27d57819956e4aaffected
LinuxLinux98e4da8ca301e062d79ae168c67e56f3c3de3ce4 < 198fd9faa271dd54dca6fc8eb6873f42dfd3b4d8affected
LinuxLinux98e4da8ca301e062d79ae168c67e56f3c3de3ce4 < 677a82b44ebf263d4f9a0cfbd576a6ade797a07baffected
LinuxLinux3.8affected
LinuxLinux0 < 3.8unaffected
LinuxLinux5.10.121 <= 5.10.*unaffected
LinuxLinux5.15.46 <= 5.15.*unaffected
LinuxLinux5.17.14 <= 5.17.*unaffected
LinuxLinux5.18.3 <= 5.18.*unaffected
LinuxLinux5.19 <= *unaffected

Weaknesses

References