Jinjie Ruan

Pesquisador deHuawei
#3503de 53,638
73.7CVSS total
Vulnerabilidades · 12
Média
8
Alta
4
PT-2025-3319
7.8
2025-01-08
Linux · Linux Kernel · CVE-2024-56772
**Nome do Software Vulnerável e Versões Afetadas** Versões do kernel Linux anteriores a 6.12.0-rc4+ **Descrição** Uma falha de Use-After-Free (UAF) foi corrigida na função de string stream do KUnit do kernel Linux. O problema ocorre quando `alloc string stream()` falha no loop `kunit suite for each test case()`, fazendo com que a memória do stream `suite->log` seja liberada, mas não definida como NULL. Isso leva a uma falha de UAF quando `string stream clear()` é chamado posteriormente. O caminho de erro apenas libera a memória do stream `suite->log`, mas não a define como NULL, resultando em uma falha de UAF. Detalhes técnicos sobre exploração incluem: - A função `string stream clear()` é vulnerável. - A função `alloc string stream()` falha no loop `kunit suite for each test case()`. - A memória do stream `suite->log` é liberada, mas não definida como NULL. **Recomendações** Para resolver o problema, atualize o kernel Linux para uma versão que inclua a correção para a falha de UAF. Como solução temporária, considere desativar a função `string stream clear()` até que um patch esteja disponível. Restrinja o acesso à função vulnerável `kunit debugfs create suite()` para minimizar o risco de exploração. Evite usar o stream `suite->log` no endpoint de API afetado até que o problema seja resolvido. No momento, não há informações sobre uma versão mais recente que contenha uma correção para esta vulnerabilidade.
PT-2024-33841
5.5
2024-10-21
Linux · Linux Kernel · CVE-2024-50002
Nome do software vulnerável e versões afetadas: Versões do kernel Linux anteriores à 6.6.58 Descrição: O problema decorre da função `static call del module()`, que não lida corretamente com falhas na inicialização de módulos. Quando um módulo é inserido, a função `static call add module()` é chamada para inicializar chamadas estáticas. Se ocorrer uma falha de alocação durante esse processo, `static call del module()` é chamada para limpar a memória. No entanto, essa função assume cegamente que `key::mods` aponta para uma `struct static call mod` válida, levando a um erro #GP quando, na verdade, é um ponteiro para locais de uso embutidos. O problema decorre do fato de `key::mods` fazer parte de uma união, onde o tipo do ponteiro é diferenciado pelo bit 0. Para corrigir isso, é necessário verificar se a chave possui um ponteiro `sites` ou um ponteiro `mods`. Se for um ponteiro `sites`, a chave não deve ser alterada, e a varredura do local pode ser encerrada. Recomendações: Para versões do kernel Linux anteriores à 6.6.58, atualize para a versão 6.6.58 ou posterior para resolver o problema. Como solução temporária, considere desativar a função `static call del module()` até que um patch esteja disponível. Restrinja o acesso à função vulnerável `static call add module()` para minimizar o risco de exploração. Evite usar o ponteiro `key::mods` na função `static call del module()` afetada até que o problema seja resolvido.