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.