PT-2024-6351 · Linux+7 · Linux Kernel+7
Petr Pavlu
·
Publicado
2024-05-21
·
Atualizado
2025-09-29
·
CVE-2024-38601
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.6.37
Descrição
O problema está relacionado a uma condição de corrida entre leitores e verificações de redimensionamento no buffer circular do kernel Linux. O código do leitor em
rb get reader page() insere uma nova página de leitura no buffer circular, o que pode levar a uma inconsistência temporária na lista duplamente encadeada subjacente. A operação de redimensionamento em ring buffer resize() pode ser invocada em paralelo e chama rb check pages(), que pode detectar essa inconsistência e interromper o rastreamento posterior. Isso pode causar uma negação de serviço.O número estimado de dispositivos potencialmente afetados em todo o mundo não foi especificado. Não há informações sobre incidentes reais em que essa vulnerabilidade tenha sido explorada.
Os detalhes técnicos sobre a exploração incluem:
-
A função
rb get reader page()troca uma nova página de leitura no buffer circular, realizando cmpxchg emold->list.prev->nextpara apontá-la para a nova página. -
A função
ring buffer resize()pode ser invocada em paralelo e chamarb check pages(), que pode detectar a inconsistência e interromper o rastreamento posterior. -
A função
rb check pages()verifica a consistência das páginas do buffer circular.
Recomendações
Para resolver o problema, atualize o kernel do Linux para a versão 6.6.37 ou posterior. Como solução temporária, considere desativar a função
rb get reader page() até que um patch esteja disponível. Restrinja o acesso à função vulnerável ring buffer resize() para minimizar o risco deExploit
Correção
Race Condition
Buffer Overflow
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Almalinux
Astra Linux
Linuxmint
Linux Kernel
Red Hat
Red Os
Suse
Ubuntu