Baokun Li

Pesquisador deHuawei
#1138de 53,779
187.6CVSS total
Vulnerabilidades · 28
Média
13
Alta
15
PT-2024-5424
7.8
2024-06-21
Linux · Linux Kernel · CVE-2024-40899
**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.