Vulnerability Details CVE-2021-47007
In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix panic during f2fs_resize_fs()
f2fs_resize_fs() hangs in below callstack with testcase:
- mkfs 16GB image & mount image
- dd 8GB fileA
- dd 8GB fileB
- sync
- rm fileA
- sync
- resize filesystem to 8GB
kernel BUG at segment.c:2484!
Call Trace:
allocate_segment_by_default+0x92/0xf0 [f2fs]
f2fs_allocate_data_block+0x44b/0x7e0 [f2fs]
do_write_page+0x5a/0x110 [f2fs]
f2fs_outplace_write_data+0x55/0x100 [f2fs]
f2fs_do_write_data_page+0x392/0x850 [f2fs]
move_data_page+0x233/0x320 [f2fs]
do_garbage_collect+0x14d9/0x1660 [f2fs]
free_segment_range+0x1f7/0x310 [f2fs]
f2fs_resize_fs+0x118/0x330 [f2fs]
__f2fs_ioctl+0x487/0x3680 [f2fs]
__x64_sys_ioctl+0x8e/0xd0
do_syscall_64+0x33/0x80
entry_SYSCALL_64_after_hwframe+0x44/0xa9
The root cause is we forgot to check that whether we have enough space
in resized filesystem to store all valid blocks in before-resizing
filesystem, then allocator will run out-of-space during block migration
in free_segment_range().
Exploit prediction scoring system (EPSS) score
EPSS Score 0.0
EPSS Ranking 9.6%
CVSS Severity
CVSS v3 Score 5.5
Products affected by CVE-2021-47007
-
cpe:2.3:o:linux:linux_kernel:5.10
-
cpe:2.3:o:linux:linux_kernel:5.10.0
-
cpe:2.3:o:linux:linux_kernel:5.10.1
-
cpe:2.3:o:linux:linux_kernel:5.10.10
-
cpe:2.3:o:linux:linux_kernel:5.10.11
-
cpe:2.3:o:linux:linux_kernel:5.10.12
-
cpe:2.3:o:linux:linux_kernel:5.10.13
-
cpe:2.3:o:linux:linux_kernel:5.10.14
-
cpe:2.3:o:linux:linux_kernel:5.10.15
-
cpe:2.3:o:linux:linux_kernel:5.10.16
-
cpe:2.3:o:linux:linux_kernel:5.10.17
-
cpe:2.3:o:linux:linux_kernel:5.10.18
-
cpe:2.3:o:linux:linux_kernel:5.10.19
-
cpe:2.3:o:linux:linux_kernel:5.10.2
-
cpe:2.3:o:linux:linux_kernel:5.10.20
-
cpe:2.3:o:linux:linux_kernel:5.10.21
-
cpe:2.3:o:linux:linux_kernel:5.10.22
-
cpe:2.3:o:linux:linux_kernel:5.10.23
-
cpe:2.3:o:linux:linux_kernel:5.10.24
-
cpe:2.3:o:linux:linux_kernel:5.10.25
-
cpe:2.3:o:linux:linux_kernel:5.10.26
-
cpe:2.3:o:linux:linux_kernel:5.10.27
-
cpe:2.3:o:linux:linux_kernel:5.10.28
-
cpe:2.3:o:linux:linux_kernel:5.10.29
-
cpe:2.3:o:linux:linux_kernel:5.10.3
-
cpe:2.3:o:linux:linux_kernel:5.10.30
-
cpe:2.3:o:linux:linux_kernel:5.10.31
-
cpe:2.3:o:linux:linux_kernel:5.10.32
-
cpe:2.3:o:linux:linux_kernel:5.10.33
-
cpe:2.3:o:linux:linux_kernel:5.10.34
-
cpe:2.3:o:linux:linux_kernel:5.10.35
-
cpe:2.3:o:linux:linux_kernel:5.10.36
-
cpe:2.3:o:linux:linux_kernel:5.10.37
-
cpe:2.3:o:linux:linux_kernel:5.10.4
-
cpe:2.3:o:linux:linux_kernel:5.10.5
-
cpe:2.3:o:linux:linux_kernel:5.10.6
-
cpe:2.3:o:linux:linux_kernel:5.10.7
-
cpe:2.3:o:linux:linux_kernel:5.10.8
-
cpe:2.3:o:linux:linux_kernel:5.10.9
-
cpe:2.3:o:linux:linux_kernel:5.11
-
cpe:2.3:o:linux:linux_kernel:5.11.1
-
cpe:2.3:o:linux:linux_kernel:5.11.10
-
cpe:2.3:o:linux:linux_kernel:5.11.11
-
cpe:2.3:o:linux:linux_kernel:5.11.12
-
cpe:2.3:o:linux:linux_kernel:5.11.13
-
cpe:2.3:o:linux:linux_kernel:5.11.14
-
cpe:2.3:o:linux:linux_kernel:5.11.15
-
cpe:2.3:o:linux:linux_kernel:5.11.16
-
cpe:2.3:o:linux:linux_kernel:5.11.17
-
cpe:2.3:o:linux:linux_kernel:5.11.18
-
cpe:2.3:o:linux:linux_kernel:5.11.19
-
cpe:2.3:o:linux:linux_kernel:5.11.2
-
cpe:2.3:o:linux:linux_kernel:5.11.20
-
cpe:2.3:o:linux:linux_kernel:5.11.21
-
cpe:2.3:o:linux:linux_kernel:5.11.3
-
cpe:2.3:o:linux:linux_kernel:5.11.4
-
cpe:2.3:o:linux:linux_kernel:5.11.5
-
cpe:2.3:o:linux:linux_kernel:5.11.6
-
cpe:2.3:o:linux:linux_kernel:5.11.7
-
cpe:2.3:o:linux:linux_kernel:5.11.8
-
cpe:2.3:o:linux:linux_kernel:5.11.9
-
cpe:2.3:o:linux:linux_kernel:5.12
-
cpe:2.3:o:linux:linux_kernel:5.12.1
-
cpe:2.3:o:linux:linux_kernel:5.12.2
-
cpe:2.3:o:linux:linux_kernel:5.12.3
-
cpe:2.3:o:linux:linux_kernel:5.12.4
-
cpe:2.3:o:linux:linux_kernel:5.8
-
cpe:2.3:o:linux:linux_kernel:5.8.0
-
cpe:2.3:o:linux:linux_kernel:5.8.1
-
cpe:2.3:o:linux:linux_kernel:5.8.10
-
cpe:2.3:o:linux:linux_kernel:5.8.11
-
cpe:2.3:o:linux:linux_kernel:5.8.12
-
cpe:2.3:o:linux:linux_kernel:5.8.13
-
cpe:2.3:o:linux:linux_kernel:5.8.14
-
cpe:2.3:o:linux:linux_kernel:5.8.15
-
cpe:2.3:o:linux:linux_kernel:5.8.16
-
cpe:2.3:o:linux:linux_kernel:5.8.17
-
cpe:2.3:o:linux:linux_kernel:5.8.18
-
cpe:2.3:o:linux:linux_kernel:5.8.2
-
cpe:2.3:o:linux:linux_kernel:5.8.3
-
cpe:2.3:o:linux:linux_kernel:5.8.4
-
cpe:2.3:o:linux:linux_kernel:5.8.5
-
cpe:2.3:o:linux:linux_kernel:5.8.6
-
cpe:2.3:o:linux:linux_kernel:5.8.7
-
cpe:2.3:o:linux:linux_kernel:5.8.8
-
cpe:2.3:o:linux:linux_kernel:5.8.9
-
cpe:2.3:o:linux:linux_kernel:5.9
-
cpe:2.3:o:linux:linux_kernel:5.9.0
-
cpe:2.3:o:linux:linux_kernel:5.9.1
-
cpe:2.3:o:linux:linux_kernel:5.9.10
-
cpe:2.3:o:linux:linux_kernel:5.9.11
-
cpe:2.3:o:linux:linux_kernel:5.9.12
-
cpe:2.3:o:linux:linux_kernel:5.9.13
-
cpe:2.3:o:linux:linux_kernel:5.9.14
-
cpe:2.3:o:linux:linux_kernel:5.9.15
-
cpe:2.3:o:linux:linux_kernel:5.9.16
-
cpe:2.3:o:linux:linux_kernel:5.9.2
-
cpe:2.3:o:linux:linux_kernel:5.9.3
-
cpe:2.3:o:linux:linux_kernel:5.9.4
-
cpe:2.3:o:linux:linux_kernel:5.9.5
-
cpe:2.3:o:linux:linux_kernel:5.9.6
-
cpe:2.3:o:linux:linux_kernel:5.9.7
-
cpe:2.3:o:linux:linux_kernel:5.9.8
-
cpe:2.3:o:linux:linux_kernel:5.9.9