PT-2024-8436 · Linux+7 · Linux Kernel+7
Filipe Manana
·
Publicado
2024-03-05
·
Atualizado
2025-03-28
·
CVE-2024-27080
CVSS v3.1
4.7
Média
| Vetor | AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas
Kernel do Linux (versões afetadas não especificadas)
Descrição
O problema está relacionado a uma condição de corrida no sistema de arquivos btrfs ao detectar intervalos de desalocação durante a função fiemap. Isso pode resultar na omissão de intervalos de desalocação para regiões de arquivo que atualmente são lacunas, fazendo com que o chamador da função fiemap não tenha conhecimento da existência de dados em algumas regiões do arquivo. Isso pode ser grave para casos de uso como o programa cp nas versões do coreutils anteriores à 9.0, que usavam o fiemap para detectar lacunas e dados no arquivo de origem. Se o cp fosse usado com um arquivo de origem que tivesse delalloc em uma lacuna, o arquivo de destino poderia acabar sem esses dados, resultando em um problema de perda de dados.
Os detalhes técnicos sobre a exploração incluem:
-
A função
fiemapé chamada sem o sinalizadorFIEMAP FLAG SYNCpara um arquivo com delalloc em um intervalo que atualmente é um buraco. -
A função
fiemapbloqueia o inode no modo compartilhado e percorre a árvore de subvolumes do inode em busca de itens de extensão de arquivo sem ter todo o intervalo alvo do fiemap bloqueado na árvore de E/S do inode. -
A função
btrfs find delalloc in range()é usada para procurar delalloc verificando o bitEXTENT DELALLOCna árvore de E/S para o intervalo e extensões ordenadas.
Recomendações
No momento, não há informações sobre uma versão mais recente que contenha uma correção para esta vulnerabilidade.
Exploit
Improper Locking
Race Condition
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Astra Linux
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu
Btrfs
Coreutils