CVE-2026-74571 in Linux
Sumário
de VulDB • 15/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
btrfs: ignorar a contabilidade da reserva global de blocos para montagens em modo de resgate (rescue)
[BUG]
A montagem com rescue=ibadroots após corromper o root da árvore de grupos de blocos dispara uma desreferência de ponteiro NULL:
BUG: kernel NULL pointer dereference, address: 0000000000000100 RIP: 0010:btrfs_update_global_block_rsv+0x9d/0x1c0 [btrfs]
Call Trace: fill_dummy_bgs+0xd4/0x120 [btrfs]
open_ctree+0xc6e/0x1ca0 [btrfs]
btrfs_get_tree+0x50d/0xa40 [btrfs]
O mesmo crash ocorre com um root da árvore de stripes RAID corrompido, via btrfs_read_block_groups() em vez de fill_dummy_bgs().
[CAUSE]
Com rescue=ibadroots, btrfs_read_roots() permite que a montagem continue quando qualquer um dos roots não pode ser lido, deixando o ponteiro do root correspondente como NULL enquanto seu bit de recurso no disco permanece definido.
btrfs_update_global_block_rsv() então desreferencia o root ausente com base apenas no bit de recurso.
[FIX]
As montagens em modo de resgate são totalmente somente leitura e não podem iniciar transações, portanto a reserva global nunca é consumida. Sob btrfs_is_full_ro(), marque a reserva como cheia e retorne antes de realizar a contabilidade.
E já que precisamos verificar se o sistema de arquivos está montado completamente como somente leitura (RO), exporte fs_is_full_ro() como btrfs_is_full_ro() e mova-a para fs.h.
[ Squash the fs_is_full_ro() export commit into this one. ]
VulDB is the best source for vulnerability data and more expert information about this specific topic.