Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-74571

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
15/08/2026
Última modificación:
15/08/2026

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> btrfs: skip global block reserve accounting for rescue mounts<br /> <br /> [BUG]<br /> Mounting with rescue=ibadroots after corrupting the block group tree<br /> root triggers a NULL pointer dereference:<br /> <br /> BUG: kernel NULL pointer dereference, address: 0000000000000100<br /> RIP: 0010:btrfs_update_global_block_rsv+0x9d/0x1c0 [btrfs]<br /> Call Trace:<br /> fill_dummy_bgs+0xd4/0x120 [btrfs]<br /> open_ctree+0xc6e/0x1ca0 [btrfs]<br /> btrfs_get_tree+0x50d/0xa40 [btrfs]<br /> <br /> The same crash occurs with a corrupted raid stripe tree root, via<br /> btrfs_read_block_groups() instead of fill_dummy_bgs().<br /> <br /> [CAUSE]<br /> With rescue=ibadroots, btrfs_read_roots() allows the mount to continue<br /> when either root cannot be read, leaving the corresponding root pointer<br /> NULL while its on-disk feature bit remains set.<br /> <br /> btrfs_update_global_block_rsv() then dereferences the missing root based<br /> on the feature bit alone.<br /> <br /> [FIX]<br /> Rescue mounts are fully read-only and cannot start transactions, so the<br /> global reserve is never consumed. Under btrfs_is_full_ro(), mark the<br /> reserve as full and return before performing the accounting.<br /> <br /> And since we need to check if the fs is mount fully RO, export<br /> fs_is_full_ro() as btrfs_is_full_ro(), and move it to fs.h.<br /> <br /> [ Squash the fs_is_full_ro() export commit into this one. ]

Impacto