
Prova de conceito de exploit para vazamento de informações no kernel Linux via FUSE (CVE-2024-44947), demonstrando divulgação de memória além do EOF por meio de mmap e incluindo análise de dump de memória.
Descrição: No kernel Linux, a seguinte vulnerabilidade foi corrigida: fuse: Inicializar conteúdos da página além do EOF antes de definir como uptodate fuse_notify_store(), ao contrário de fuse_do_readpage(), não ativa o zeramento de página (pois pode ser usado para alterar conteúdos parciais de página). Então fuse_notify_store() deve ser mais cuidadoso ao inicializar completamente os conteúdos da página (incluindo partes da página que estão além do fim do arquivo) antes de marcar a página como uptodate. O código atual pode deixar conteúdos da página além do EOF não inicializados, o que torna esses conteúdos não inicializados visíveis para o espaço do usuário via mmap(). Isso é um vazamento de informação, mas afeta apenas sistemas que não ativam init-on-alloc (via CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y ou o parâmetro correspondente da linha de comando do kernel).
Aumento do Dump de Memória: O tamanho do dump de memória foi duplicado para 8 páginas, fornecendo uma visão mais extensa de possíveis vazamentos.
Mecanismo de Heurística: Introduzido um mecanismo simples de heurística que examina a memória despejada em busca de padrões específicos, como cabeçalhos "HTTP", cabeçalhos "ELF" e outras estruturas de dados conhecidas. Isso ajuda a identificar e categorizar os dados vazados de forma mais eficaz.
Operações FUSE Aprimoradas: Adicionada uma operação FUSE mais complexa com uma carga maior para aumentar as chances de desencadear a vulnerabilidade sob várias condições.
Aleatorização e Elementos Dinâmicos: O PoC inclui aleatorização em certas operações para simular diferentes cenários e potencialmente desencadear resultados variados, tornando o exploit mais robusto.
Análise Detalhada de Memória: O PoC agora realiza uma análise detalhada do dump de memória, imprimindo valores hexadecimais e identificando potenciais vazamentos de dados através de correspondência heurística.
gcc -o fuse_poc_advanced fuse_poc_advanced.c
sudo ./fuse_poc_advanced
Este PoC aprimorado foi projetado para usuários e pesquisadores avançados, fornecendo uma estrutura mais abrangente para investigar e explorar a vulnerabilidade FUSE. Inclui elementos dinâmicos, manipulação sofisticada de memória e análise heurística, tornando-o adequado para análise detalhada de vulnerabilidades e cenários de exploração.