CVE-2021-47406
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
21/05/2024
Last modified:
02/04/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ext4: add error checking to ext4_ext_replay_set_iblocks()<br />
<br />
If the call to ext4_map_blocks() fails due to an corrupted file<br />
system, ext4_ext_replay_set_iblocks() can get stuck in an infinite<br />
loop. This could be reproduced by running generic/526 with a file<br />
system that has inline_data and fast_commit enabled. The system will<br />
repeatedly log to the console:<br />
<br />
EXT4-fs warning (device dm-3): ext4_block_to_path:105: block 1074800922 > max in inode 131076<br />
<br />
and the stack that it gets stuck in is:<br />
<br />
ext4_block_to_path+0xe3/0x130<br />
ext4_ind_map_blocks+0x93/0x690<br />
ext4_map_blocks+0x100/0x660<br />
skip_hole+0x47/0x70<br />
ext4_ext_replay_set_iblocks+0x223/0x440<br />
ext4_fc_replay_inode+0x29e/0x3b0<br />
ext4_fc_replay+0x278/0x550<br />
do_one_pass+0x646/0xc10<br />
jbd2_journal_recover+0x14a/0x270<br />
jbd2_journal_load+0xc4/0x150<br />
ext4_load_journal+0x1f3/0x490<br />
ext4_fill_super+0x22d4/0x2c00<br />
<br />
With this patch, generic/526 still fails, but system is no longer<br />
locking up in a tight loop. It&#39;s likely the root casue is that<br />
fast_commit replay is corrupting file systems with inline_data, and we<br />
probably need to add better error handling in the fast commit replay<br />
code path beyond what is done here, which essentially just breaks the<br />
infinite loop without reporting the to the higher levels of the code.
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.10 (including) | 5.10.71 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.14.10 (excluding) |
| cpe:2.3:o:linux:linux_kernel:5.15:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.15:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.15:rc3:*:*:*:*:*:* |
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/1fd95c05d8f742abfe906620780aee4dbe1a2db0
- https://git.kernel.org/stable/c/27e10c5d31ff1d222c7f797f1ee96d422859ba67
- https://git.kernel.org/stable/c/a63474dbf692dd09b50fed592bc41f6de5f102fc
- https://git.kernel.org/stable/c/1fd95c05d8f742abfe906620780aee4dbe1a2db0
- https://git.kernel.org/stable/c/27e10c5d31ff1d222c7f797f1ee96d422859ba67
- https://git.kernel.org/stable/c/a63474dbf692dd09b50fed592bc41f6de5f102fc



