📸 Créditos da imagem: reprodução / Tecmundo
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. 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 falhaO 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áticaO 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áveisA 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 agoraA 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.
📰 Leia a notícia completa em: Tecmundo »