CVE-2026-43068
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
05/05/2026
Última modificación:
05/05/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ext4: avoid allocate block from corrupted group in ext4_mb_find_by_goal()<br />
<br />
There&#39;s issue as follows:<br />
...<br />
EXT4-fs (mmcblk0p1): Delayed block allocation failed for inode 206 at logical offset 0 with max blocks 1 with error 117<br />
EXT4-fs (mmcblk0p1): This should not happen!! Data will be lost<br />
<br />
EXT4-fs (mmcblk0p1): Delayed block allocation failed for inode 206 at logical offset 0 with max blocks 1 with error 117<br />
EXT4-fs (mmcblk0p1): This should not happen!! Data will be lost<br />
<br />
EXT4-fs (mmcblk0p1): Delayed block allocation failed for inode 206 at logical offset 0 with max blocks 1 with error 117<br />
EXT4-fs (mmcblk0p1): This should not happen!! Data will be lost<br />
<br />
EXT4-fs (mmcblk0p1): Delayed block allocation failed for inode 206 at logical offset 0 with max blocks 1 with error 117<br />
EXT4-fs (mmcblk0p1): This should not happen!! Data will be lost<br />
<br />
EXT4-fs (mmcblk0p1): Delayed block allocation failed for inode 2243 at logical offset 0 with max blocks 1 with error 117<br />
EXT4-fs (mmcblk0p1): This should not happen!! Data will be lost<br />
<br />
EXT4-fs (mmcblk0p1): Delayed block allocation failed for inode 2239 at logical offset 0 with max blocks 1 with error 117<br />
EXT4-fs (mmcblk0p1): This should not happen!! Data will be lost<br />
<br />
EXT4-fs (mmcblk0p1): error count since last fsck: 1<br />
EXT4-fs (mmcblk0p1): initial error at time 1765597433: ext4_mb_generate_buddy:760<br />
EXT4-fs (mmcblk0p1): last error at time 1765597433: ext4_mb_generate_buddy:760<br />
...<br />
<br />
According to the log analysis, blocks are always requested from the<br />
corrupted block group. This may happen as follows:<br />
ext4_mb_find_by_goal<br />
ext4_mb_load_buddy<br />
ext4_mb_load_buddy_gfp<br />
ext4_mb_init_cache<br />
ext4_read_block_bitmap_nowait<br />
ext4_wait_block_bitmap<br />
ext4_validate_block_bitmap<br />
if (!grp || EXT4_MB_GRP_BBITMAP_CORRUPT(grp))<br />
return -EFSCORRUPTED; // There&#39;s no logs.<br />
if (err)<br />
return err; // Will return error<br />
ext4_lock_group(ac->ac_sb, group);<br />
if (unlikely(EXT4_MB_GRP_BBITMAP_CORRUPT(e4b->bd_info))) // Unreachable<br />
goto out;<br />
<br />
After commit 9008a58e5dce ("ext4: make the bitmap read routines return<br />
real error codes") merged, Commit 163a203ddb36 ("ext4: mark block group<br />
as corrupt on block bitmap error") is no real solution for allocating<br />
blocks from corrupted block groups. This is because if<br />
&#39;EXT4_MB_GRP_BBITMAP_CORRUPT(e4b->bd_info)&#39; is true, then<br />
&#39;ext4_mb_load_buddy()&#39; may return an error. This means that the block<br />
allocation will fail.<br />
Therefore, check block group if corrupted when ext4_mb_load_buddy()<br />
returns error.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/0b84571c886719823d537f05f4f07cad6357c4b7
- https://git.kernel.org/stable/c/1895f7904be71c48f1e6f338b28f24dabd6b8aeb
- https://git.kernel.org/stable/c/1c0d7c4cde38a887c6d74e0c89ddb25226943c78
- https://git.kernel.org/stable/c/2d31a5073f86a177edf44015e0dedb0c47cfd6d8
- https://git.kernel.org/stable/c/46066e3a06647c5b186cc6334409722622d05c44
- https://git.kernel.org/stable/c/9370207b36d26e45a8c8ef0500706d37036edd6b
- https://git.kernel.org/stable/c/fea6b2e250ff48f10d166011b57a8516ae5438c9
- https://git.kernel.org/stable/c/ffc0a282462d45fee5957621be5afa29752f3b6d



