Filipe Manana

Pesquisador deSUSE
#4094de 53,635
63.3CVSS total
Vulnerabilidades · 10
Média
6
Alta
4
PT-2024-8436
4.7
2024-03-05
Linux · Linux Kernel · CVE-2024-27080
**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.
PT-2022-7659
7.8
2022-01-31
Linux · Linux Kernel · CVE-2022-48733
**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 vulnerabilidade de uso após liberação (use-after-free) no sistema de arquivos btrfs do kernel Linux. Especificamente, ela ocorre ao criar um snapshot e a função `btrfs commit transaction()` falhar, levando a uma situação em que uma estrutura de snapshot pendente é liberada, mas ainda acessível, resultando em um cenário de uso após liberação (user-after-free). Isso pode acontecer na seguinte sequência: 1. Um snapshot pendente é alocado e adicionado à lista de snapshots pendentes da transação. 2. `btrfs commit transaction()` é chamada e, se falhar, a estrutura do snapshot pendente é liberada. 3. Outra tarefa confirma a transação sem erros, acessando a estrutura do snapshot pendente já liberada, causando assim um “user-after-free”. A vulnerabilidade poderia ser detectada pelo smatch, que gerava um aviso sobre o snapshot pendente não ter sido removido da lista. Para corrigir isso, o ioctl de criação de snapshot não deve adicionar diretamente o snapshot pendente à lista da transação. Em vez disso, ele deve adicionar o snapshot pendente ao identificador da transação e, então, em `btrfs commit transaction()`, adicionar o snapshot à lista somente quando for garantido que qualquer erro retornado após esse ponto resultará no abortamento da transação. **Recomendações** No momento, não há informações sobre uma versão mais recente que contenha uma correção para esta vulnerabilidade.