PT-2022-7659 · Linux+5 · Linux Kernel+5
Filipe Manana
·
Publicado
2022-01-31
·
Atualizado
2025-05-27
·
CVE-2022-48733
CVSS v3.1
7.8
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/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 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:-
Um snapshot pendente é alocado e adicionado à lista de snapshots pendentes da transação.
-
btrfs commit transaction()é chamada e, se falhar, a estrutura do snapshot pendente é liberada. -
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.
Exploit
Use After Free
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Astra Linux
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu