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.