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

VetorAV: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 campo done é aguardado usando wait for completion.
  • A função cachefiles ondemand daemon read lê dados de um descritor de arquivo, e a função copy 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ção xas 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ção xa 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 👾

Enumeração de Fraquezas

Identificadores relacionados

BDU:2024-06068
CVE-2024-40899
DLA-4008-1
DSA-5731-1
SUSE-SU-2024:3194-1
SUSE-SU-2024:3195-1
SUSE-SU-2024:3383-1
SUSE-SU-2025:20044-1
SUSE-SU-2025:20047-1
USN-6999-1
USN-6999-2
USN-7004-1
USN-7005-1
USN-7005-2
USN-7008-1
USN-7029-1

Produtos afetados

Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu