PT-2024-5424 · Linux+4 · Linux Kernel+4
Baokun Li
+1
·
Publicado
2024-06-21
·
Atualizado
2025-02-03
·
CVE-2024-40899
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.0-rc7-dirty #542
Descrição
O problema é causado por uma vulnerabilidade do tipo “slab-use-after-free” na função
cachefiles ondemand daemon read. Isso ocorre quando um comando de restauração é emitido enquanto o daemon ainda está ativo, resultando no processamento de uma solicitação várias vezes e acionando um erro de uso após liberação (UAF). A vulnerabilidade pode ser explorada emitindo-se um comando de restauração enquanto o daemon ainda está ativo.Os detalhes técnicos sobre a exploração incluem:
-
A função
cachefiles ondemand get fdé vulnerável a um erro UAF. -
A variável
REQ Aé usada para armazenar uma solicitação, e seu campodoneé aguardado usandowait for completion. -
A função
cachefiles ondemand daemon readlê dados de um descritor de arquivo, e a funçãocopy to useré usada para copiar dados para um buffer do espaço do usuário. -
A função
xas for eaché usada para iterar sobre um conjunto de solicitações, e a funçãoxas set marké usada para definir uma marca em uma solicitação. -
A função
cachefiles ondemand restoreé usada para restaurar uma solicitação, e a funçãoxa eraseé usada para apagar uma solicitação do cache.
Recomendações
Para resolver o problema, adicione uma contagem de referência adicional a
cachefiles req, que é mantida durante a espera e a leitura e, em seguida, liberada quando a espera e a leitura terminam. Como solução alternativa temporária, considere desativar a função cachefiles ondemand daemon read até que um patch esteja disponível.Exploit
Correção
Use After Free
Race Condition
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu