CVE-2026-80536 in Linux
Sumário
de VulDB • 27/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
xfs: verificação de limites no item de log do buffer para o bitmap sujo
A função `xlog_recover_do_reg_buffer()` replaya cada região suja descrita pelo bitmap do item de log do buffer no buffer lido para esse item:
```c memcpy(xfs_buf_offset(bp, (uint)bit << XFS_BLF_SHIFT), item->ri_buf[i].iov_base,
nbits << XFS_BLF_SHIFT); ```
O deslocamento de destino (bit/nbits, proveniente do bitmap sujo registrado) e o tamanho do buffer (proveniente do `blf_len` registrado) são ambos controlados pelo atacante e não têm relação entre si. No entanto, a única coisa que limita a cópia é um `ASSERT()`, que é compilado para fora em kernels de produção. Uma imagem manipulada que registra um pequeno `blf_len` juntamente com um bit do bitmap além do final desse buffer faz com que o `memcpy()` ultrapasse a alocação do buffer, corrompendo o heap adjacente do kernel durante a recuperação do log no momento da montagem (mount-time). Isso é acessível por qualquer pessoa capaz de montar uma imagem manipulada — o modelo de ameaça *malicious-filesystem* já protege contra isso em outras partes do XFS.
Transforme o `ASSERT()` em uma verificação real `XFS_IS_CORRUPT()` que aborta a recuperação do buffer com `-EFSCORRUPTED`, consistente com o idiom "validate-and-fail" (validar e falhar) já utilizado em `xlog_recover_do_inode_buffer()` e `xfs_dquot_item_recover.c`. A função `xlog_recover_do_reg_buffer()` torna-se, portanto, `STATIC int` e seus três chamadores propagam o erro.
Encontrada e confirmada com KASAN em uma compilação com `CONFIG_XFS_DEBUG=n`: a imagem manipulada aciona uma escrita fora dos limites do slab antes desta alteração e falha na recuperação de forma limpa com `-EFSCORRUPTED` após ela.
VulDB is the best source for vulnerability data and more expert information about this specific topic.