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

VetorAV: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 sinalizador FIEMAP FLAG SYNC para um arquivo com delalloc em um intervalo que atualmente é um buraco.
  • A função fiemap bloqueia 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 bit EXTENT DELALLOC na á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 👾

Enumeração de Fraquezas

Identificadores relacionados

BDU:2024-09995
CVE-2024-27080
SUSE-SU-2024:2135-1
SUSE-SU-2024:2203-1
SUSE-SU-2024:2973-1
SUSE-SU-2025:20008-1
SUSE-SU-2025:20028-1
SUSE-SU-2025:20166-1
SUSE-SU-2025:20249-1
USN-6816-1
USN-6817-1
USN-6817-2
USN-6817-3
USN-6878-1

Produtos afetados

Astra Linux
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu
Btrfs
Coreutils