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&#39;s relocate truncation of preallocated blocks to f2fs_file_open(),<br />
after fscrypt_file_open().
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
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) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/298b1e4182d657c3e388adcc29477904e9600ed5
- https://git.kernel.org/stable/c/3ba0ae885215b325605ff7ebf6de12ac2adf204d
- https://git.kernel.org/stable/c/5f04969136db674f133781626e0b692c5f2bf2f0
- https://git.kernel.org/stable/c/f44a25a8bfe0c15d33244539696cd9119cf44d18
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html



