Uma vulnerabilidade de escalada de privilégios locais descoberta no kernel do Linux permite que um atacante sem permissões administrativas obtenha acesso root na máquina. A falha, batizada de CIFSwitch, foi identificada pelo engenheiro de segurança da SpaceX Asim Viladi Oglu Manizada e afeta múltiplas distribuições Linux que utilizam combinações vulneráveis do módulo CIFS do kernel com versões recentes do pacote cifs-utils. O problema existe desde 2007 e só agora foi descoberto e corrigido.
CIFS é um protocolo de rede que o Linux usa para acessar arquivos, pastas e dispositivos em uma rede local, como uma pasta compartilhada no escritório. Quando esse compartilhamento exige autenticação via Kerberos, um mecanismo comum em ambientes corporativos, o kernel do Linux não faz esse processo sozinho.
Nossos vídeos em destaque
Em vez disso, ele pede ajuda a um programa externo chamado cifs.upcall, que faz parte do pacote cifs-utils. Esse programa roda com privilégios de root e é responsável por buscar os dados de autenticação necessários.
)
A comunicação entre o kernel e o cifs.upcall acontece por meio do sistema de "chaves" do Linux, uma área de memória segura usada para guardar credenciais temporárias.
Onde está a falha
O kernel cria uma requisição de chave do tipo cifs.spnego com uma descrição que contém informações como o servidor de destino, o usuário, o processo que fez o pedido e qual "namespace" o programa auxiliar deve usar.
O problema é que o kernel nunca verificava se essa requisição veio mesmo do seu próprio subsistema CIFS. Qualquer usuário comum podia criar uma requisição falsa do mesmo tipo, com campos inventados, e o sistema a tratava como legítima. Quando isso acontecia, o cifs.upcall era chamado normalmente com privilégios de root, mas usando os dados fornecidos pelo atacante.
Como o ataque funciona na prática
O exploit se apoia em uma cadeia de etapas. Primeiro, o atacante forja uma requisição cifs.spnego com um campo chamado pid contendo o identificador de um processo que ele controla, e outro campo chamado upcall_target com o valor app.
Ao receber essa requisição, o cifs.upcall interpreta os dados como se fossem genuínos e muda para o namespace do processo indicado pelo pid falso. Namespace é basicamente o "universo isolado" que o sistema operacional enxerga para um determinado processo, incluindo quais arquivos existem e onde estão.
)
Dentro desse namespace controlado pelo atacante, o cifs.upcall ainda precisa fazer uma consulta para saber a qual grupo o usuário pertence. Isso é feito pelo mecanismo NSS, que lê arquivos de configuração locais para descobrir onde buscar as informações de conta.
Como o programa ainda está rodando como root e agora está dentro do namespace do atacante, ele lê o arquivo nsswitch.conf do atacante. Esse arquivo aponta para um módulo NSS malicioso criado pelo próprio atacante.
O módulo é carregado com privilégios de root e pode executar qualquer código. No exploit de prova de conceito publicado por Manizada, o módulo simplesmente adiciona o usuário atacante ao arquivo sudoers, que define quem tem permissão de root no sistema.
Quais sistemas estão vulneráveis
A falha afeta distribuições que combinam um kernel vulnerável com versões recentes do cifs-utils, a partir da 6.14, embora versões mais antigas com backports de outras correções também possam ser afetadas.
São confirmadas como exploráveis nas configurações padrão o Linux Mint 21.3 e 22.3, CentOS Stream 9, Rocky Linux 9, AlmaLinux 9, Kali Linux de 2021.4 até 2026.1 e SLES 15 SP7. Ubuntu, Debian, Pop!_OS e openSUSE também podem ser afetados se o cifs-utils estiver instalado.
Fedora 40 a 44, CentOS Stream 10, Rocky Linux 10 e AlmaLinux 10 têm as configurações padrão de SELinux bloqueando o ataque, mas ficam vulneráveis se o SELinux for desativado. Amazon Linux 2 e Kali Linux 2019.4 e 2020.4 não são afetados porque suas versões do cifs-utils são antigas demais para ter o código de troca de namespace.
A correção e o que fazer agora
A correção oficial é um patch no kernel que adiciona uma verificação de origem nas requisições cifs.spnego. Com ela, apenas o próprio subsistema CIFS do kernel pode criar esse tipo de chave.
Enquanto o patch não está disponível para todas as distribuições, Manizada recomenda algumas medidas alternativas. A primeira é bloquear ou remover o módulo CIFS se a máquina não usa compartilhamentos de rede. A segunda é desinstalar o cifs-utils se a autenticação Kerberos não for necessária.
A terceira é sobrescrever a regra padrão do cifs.spnego no arquivo de configuração do request-key, impedindo que qualquer programa seja chamado automaticamente. A quarta é desativar a criação de namespaces por usuários sem privilégios. O CVE-2026-46243 foi atribuído ao componente do kernel em 1 de junho de 2026. A falha foi comunicada com antecedência às distribuições Linux antes da divulgação pública.
Acompanhe o TecMundo nas redes sociais. Inscreva-se em nossa newsletter e canal do YouTube.
)
)
)
)
)
)
)