PT-2024-27935 · Linux+3 · Linux Kernel+3
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
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
Race Condition
Assertion Failure
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