PT-2024-21491 · Linux+6 · Linux Kernel+6
Josef Bacik
·
Publicado
2024-03-04
·
Atualizado
2026-05-26
·
CVE-2024-26726
CVSS v3.1
5.5
Média
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas
Versões do kernel Linux anteriores à 6.8.0-rc2+
Descrição
O problema ocorre quando o kernel Linux não consegue gravar o cache de espaço livre em uma instância e, em seguida, tenta gravá-lo novamente. Na segunda tentativa, ele chama
btrfs get extent() no inode para obter o mapeamento de extensão, mas como se trata de um novo grupo de blocos e o inode de espaço livre sempre pesquisa a raiz de commit para evitar um impasse com a árvore, ele não encontra nada e retorna um EXTENT MAP HOLE para o intervalo solicitado. Isso ocorre porque, na primeira vez que o kernel tenta gravar o cache de espaço, ele encontra um erro e descarta o mapeamento de extensão, o que é normal para arquivos comuns, mas não para o inode do cache de espaço livre, onde se espera que o mapa de extensão esteja sempre correto. Como resultado, na segunda tentativa, o kernel acaba com um mapa de extensão incorreto.Recomendações
Para resolver esse problema, aplique o patch que ignora o descarte do intervalo do mapa de extensão para o intervalo com falha ao gravar o cache de espaço livre. Esse patch já está implementado na versão 6.8.0-rc2+, portanto, atualizar para essa versão ou posterior corrigirá o problema. Para versões anteriores à 6.8.0-rc2+, as etapas específicas para aplicar o patch podem variar dependendo da distribuição e da configuração do kernel do Linux. Recomenda-se consultar a documentação da distribuição ou os canais de suporte para obter orientações sobre como aplicar o patch.
No momento, não há informações sobre outras versões que contenham um
Exploit
Correção
DoS
Assertion Failure
Improper Locking
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Astra Linux
Debian
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu