CVE-2024-43859

Severity CVSS v4.0:
Pending analysis
Type:
CWE-476 NULL Pointer Dereference
Publication date:
17/08/2024
Last modified:
03/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> f2fs: fix to truncate preallocated blocks in f2fs_file_open()<br /> <br /> chenyuwen reports a f2fs bug as below:<br /> <br /> Unable to handle kernel NULL pointer dereference at virtual address 0000000000000011<br /> fscrypt_set_bio_crypt_ctx+0x78/0x1e8<br /> f2fs_grab_read_bio+0x78/0x208<br /> f2fs_submit_page_read+0x44/0x154<br /> f2fs_get_read_data_page+0x288/0x5f4<br /> f2fs_get_lock_data_page+0x60/0x190<br /> truncate_partial_data_page+0x108/0x4fc<br /> f2fs_do_truncate_blocks+0x344/0x5f0<br /> f2fs_truncate_blocks+0x6c/0x134<br /> f2fs_truncate+0xd8/0x200<br /> f2fs_iget+0x20c/0x5ac<br /> do_garbage_collect+0x5d0/0xf6c<br /> f2fs_gc+0x22c/0x6a4<br /> f2fs_disable_checkpoint+0xc8/0x310<br /> f2fs_fill_super+0x14bc/0x1764<br /> mount_bdev+0x1b4/0x21c<br /> f2fs_mount+0x20/0x30<br /> legacy_get_tree+0x50/0xbc<br /> vfs_get_tree+0x5c/0x1b0<br /> do_new_mount+0x298/0x4cc<br /> path_mount+0x33c/0x5fc<br /> __arm64_sys_mount+0xcc/0x15c<br /> invoke_syscall+0x60/0x150<br /> el0_svc_common+0xb8/0xf8<br /> do_el0_svc+0x28/0xa0<br /> el0_svc+0x24/0x84<br /> el0t_64_sync_handler+0x88/0xec<br /> <br /> It is because inode.i_crypt_info is not initialized during below path:<br /> - mount<br /> - f2fs_fill_super<br /> - f2fs_disable_checkpoint<br /> - f2fs_gc<br /> - f2fs_iget<br /> - f2fs_truncate<br /> <br /> So, let&amp;#39;s relocate truncation of preallocated blocks to f2fs_file_open(),<br /> after fscrypt_file_open().

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.17 (including) 6.6.44 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.10.3 (excluding)