Ryusuke Konishi

#3242de 53,638
78.4CVSS total
Vulnerabilidades · 12
Média
6
Alta
6
PT-2024-32728
5.5
2024-09-01
Linux · Linux Kernel · CVE-2024-47669
**Nome do software vulnerável e versões afetadas** Versões do kernel Linux anteriores à 6.10.9 **Descrição** Um problema de gerenciamento de estado na função de gravação de log do nilfs2 foi resolvido. O problema ocorria após a aplicação de um commit, permitindo que a função de gravação de log `nilfs segctor do construct()` emitisse solicitações de E/S continuamente, mesmo que os blocos de dados do usuário fossem divididos em vários logs entre segmentos. No entanto, duas falhas potenciais foram introduzidas no tratamento de erros. Se `nilfs segctor begin construction()` falhar durante a criação do segundo log ou dos logs subsequentes, a função de gravação de log retorna sem chamar `nilfs segctor abort construction()`, fazendo com que as operações do cache de página fiquem pendentes, aguardando o sinalizador de gravação posterior. Além disso, o sinalizador `NILFS I COLLECTED` definido em inodes normais permanece não desmarcado, podendo corromper o mapeamento de blocos. **Recomendações** Para resolver o problema, atualize o kernel do Linux para uma versão posterior à 6.10.9. Como solução alternativa temporária, considere desativar a função `nilfs segctor do construct()` até que um patch esteja disponível. Restrinja o acesso ao módulo `nilfs2` vulnerável para minimizar o risco de exploração. Evite usar o sinalizador `NILFS I COLLECTED` na função de gravação de log afetada até que o problema seja resolvido.
PT-2024-6448
5.5
2024-05-21
Linux · Linux Kernel · CVE-2024-53130
**Nome do software vulnerável e versões afetadas** Kernel do Linux (versões afetadas não especificadas) **Descrição** Uma vulnerabilidade no sistema de arquivos nilfs2 do kernel do Linux está relacionada a referências a ponteiros nulos. Esse problema ocorre ao usar o ponto de rastreamento “block:block dirty buffer”, o que pode causar uma referência a um ponteiro nulo ou uma falha de proteção geral quando o KASAN está habilitado. O problema surge porque o tracepoint faz referência ao membro dev t bh->b bdev->bd dev, independentemente de o cabeçalho do buffer possuir um ponteiro para uma estrutura block device. A função nilfs grab buffer() não define o dispositivo de bloco, mas o faz apenas se o buffer não estiver no estado “uptodate” para cada uma de suas funções de leitura de bloco chamadoras. No entanto, se o sinalizador uptodate estiver definido em um folio/página, e os cabeçalhos de buffer forem desanexados dele por try to free buffers(), e novos cabeçalhos de buffer forem então anexados por create empty buffers(), o sinalizador uptodate pode ser restaurado em cada buffer sem que o dispositivo de bloco seja definido como bh->b bdev, e mark buffer dirty() pode ser chamado posteriormente nesse estado, resultando no bug mencionado acima. **Recomendações** Para resolver essa questão, faça com que nilfs grab buffer() sempre defina o dispositivo de bloco da estrutura do superbloco como o cabeçalho do buffer, independentemente do estado do sinalizador uptodate do buffer. No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.