Linux · Linux Kernel · CVE-2024-49957
Nome do software vulnerável e versões afetadas:
Versões do kernel Linux anteriores à 6.6.58
Descrição:
Ocorre um erro de desreferência de ponteiro nulo no kernel Linux quando o carregamento do diário falha durante o processo de montagem. Isso acontece porque `jbd2 journal load()` falha com um `j sb buffer` nulo quando `journal reset()` falha devido a um diário muito curto. Como resultado, `ocfs2 journal shutdown()` chama uma série de funções, levando, por fim, a um erro de desreferência de ponteiro nulo em `lock buffer(journal->j sb buffer)`. Para resolver esse problema, recomenda-se verificar o sinalizador `JBD2 LOADED` para garantir que o diário foi carregado corretamente e usar o `journal` em vez de `osb->journal` diretamente para simplificar o código.
Recomendações:
Para resolver esse problema, atualize para a versão 6.6.58 ou posterior do kernel do Linux. Como solução temporária, considere adicionar uma verificação do sinalizador `JBD2 LOADED` antes de chamar `lock buffer(journal->j sb buffer)` para evitar o erro de desreferência de ponteiro nulo. Além disso, modifique o código para usar o `journal` em vez de `osb->journal` diretamente, a fim de simplificar o código e evitar problemas semelhantes.