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

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-38306
USN-6999-1
USN-6999-2
USN-7004-1
USN-7005-1
USN-7005-2
USN-7008-1
USN-7029-1

Produtos afetados

Astra Linux
Linuxmint
Linux Kernel
Ubuntu