PT-2024-27935 · Linux+3 · Linux Kernel+3
Linus Torvalds
+3
·
Publicado
2024-06-25
·
Atualizado
2026-05-26
·
CVE-2024-38306
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
Versões do kernel Linux anteriores à 6.8
Descrição
O kernel Linux apresenta uma vulnerabilidade que pode causar raras falhas no kernel devido a mensagens de erro relacionadas a um status incorreto da página. Esse problema é causado por uma condição de corrida entre a thread A, que aloca um buffer de extensão, e a thread B, que libera uma página, levando a um subfluxo na contagem de referências e, eventualmente, causando um BUG ON() no page->mapping. A condição não é fácil de ocorrer e requer circunstâncias específicas, como a liberação ser acionada para a página do meio de um buffer de extensão. A vulnerabilidade foi introduzida por um commit que alterou a sequência de alocação de um novo buffer de extensão.
Recomendações
Para resolver este problema, atualize o kernel do Linux para uma versão que inclua a correção, que move todo o código que requer i private lock para attach eb folio to filemap(), garantindo a proteção de bloqueio adequada. Além disso, um lockdep assert locked() adicional foi adicionado para evitar problemas futuros. Como solução alternativa temporária, considere desativar a função
alloc extent buffer() até que um patch esteja disponível. Restrinja o acesso ao módulo btrfs vulnerável para minimizar o risco de exploração. Evite usar a função folio detach private() no endpoint da API afetado até que o problema seja resolvido.Exploit
Correção
Assertion Failure
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
Ubuntu