Hack Alerta

Vulnerabilidade no kernel Linux permite ganho de privilégios de root via FUSE

CVE-2026-31694 no kernel Linux permite ganho de root via transbordamento de cache FUSE. Veja detalhes técnicos e mitigação.

Descoberta e escopo da falha

Uma vulnerabilidade no subsistema FUSE do kernel Linux pode permitir que um atacante local ganhe privilégios de root transbordando o cache de páginas com entradas de diretório controladas pelo atacante. A falha é rastreada como CVE-2026-31694 e afeta o caminho de código usado quando o kernel armazena em cache os resultados de readdir do FUSE. O FUSE permite que um sistema de arquivos do espaço do usuário converse com o kernel através de /dev/fuse, e o kernel pode armazenar entradas de diretório em cache para leituras futuras mais rápidas.

A análise da Bynario mostra que o bug está em fuse_add_dirent_to_cache(), onde o kernel calcula o tamanho de uma entrada de diretório a partir do comprimento do nome de arquivo controlado pelo servidor e, em seguida, copia a entrada em uma única página de cache sem verificar primeiro se a própria entrada é maior que uma página única. Isso importa porque um servidor FUSE malicioso pode retornar uma entrada de diretório cujo tamanho serializado é 4120 bytes em um sistema de página de 4 KiB, o que é 24 bytes a mais do que uma página única.

Quando o kernel redefine o offset para zero e copia o registro de qualquer maneira, os bytes extras vazam para a próxima página de memória. A parte perigosa não é apenas a corrupção de memória, mas onde os dados corrompidos aterrissam. Na validação relatada, o transbordamento foi usado para corromper bytes em cache de um binário SUID, como /usr/bin/su, substituindo o início do código executável por um payload curto que chama setuid(0) e setgid(0) antes de continuar normalmente.

Mecanismo de exploração

Uma vez que essas chamadas de sistema de mudança de identidade tenham sucesso dentro de um programa de propriedade de root, o atacante pode contornar as verificações de autenticação usuais e gerar um shell de root. O ataque é local, então o atacante precisa da capacidade de montar ou executar um sistema de arquivos FUSE, que pode estar disponível através de namespaces de usuário não privilegiados ou fusermount3.

De acordo com a Bynario, o problema é explorável em kernels mais novos com buffers readdir grandes e afeta apenas sistemas que usam páginas de memória de 4 KiB. Sistemas com tamanhos de página maiores não são afetados por este tamanho de transbordamento específico. A correção é simples: rejeitar qualquer entrada de diretório que não caiba em uma única página antes de armazená-la em cache.

Medidas de mitigação recomendadas

Administradores também podem reduzir a exposição limitando o uso do FUSE, removendo o bit setuid do fusermount3 quando não necessário e restringindo namespaces não privilegiados onde apropriado. A correção do kernel deve ser aplicada assim que disponível para evitar a exploração em ambientes de produção.

Para equipes de segurança, a visibilidade sobre quais sistemas estão executando versões vulneráveis do kernel é crucial. O monitoramento de atividades de montagem FUSE incomuns e tentativas de acesso a binários SUID pode ajudar a identificar tentativas de exploração em tempo real. A aplicação de patches deve ser priorizada em servidores que utilizam sistemas de arquivos FUSE, especialmente em ambientes de nuvem onde o isolamento de namespaces pode ser configurado de forma permissiva.

Implicações para governança de segurança

Este caso destaca a importância de manter o inventário de sistemas atualizado e a necessidade de testes de segurança contínuos em ambientes Linux. A exploração de vulnerabilidades de kernel pode comprometer a integridade de todo o sistema, tornando a gestão de patches uma prioridade crítica para CISOs e equipes de operações de TI.


Baseado em publicação original de Cyber Security News
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.