Foi revelada uma vulnerabilidade LPE do CIFSwitch no Linux CIFS/cifs-utils

Investigador de Segurança Asim Manizada revelou uma vulnerabilidade CIFSwitch — elevação local de privilégios na interação entre o núcleo do Linux e o pacote de usuário cifs-utils. O problema afeta o caminho de processamento CIFS/SMB Kerberos/SPNEGO upcall, ou seja, o mecanismo através do qual o cliente CIFS do núcleo solicita ao helper de usuário dados para autenticação Kerberos ao montar recursos SMB. A descrição foi publicada após o término do embargo linux-distros; o identificador CVE ainda não havia sido atribuído no momento da publicação.

A essência da vulnerabilidade é que, um usuário não privilegiado poderia chamar request_key("cifs.spnego", …) e passar uma descrição falsa da chave. Em um cenário normal, essa string deve ser gerada pelo próprio cliente CIFS do núcleo: contém informações sobre o servidor, UID, credential UID, PID, o objetivo do upcall e outros parâmetros. No entanto, o núcleo não verificava se a descrição realmente vinha da subsistema CIFS, enquanto cifs.upcall, executado como root através da regra padrão request-key, confiava nesses campos como dados gerados pelo núcleo.

A vulnerabilidade não é uma «falha em qualquer Linux padrão». Para exploração, várias condições devem ser atendidas: ter um núcleo vulnerável, cifs-utils instalado com a regra cifs.spnego, a capacidade de usuários não privilegiados criarem namespaces de usuário/montagem, assim como a ausência de bloqueios por parte do SELinux, AppArmor ou outra política LSM. A mensagem no oss-security destaca que em sistemas vulneráveis isso proporciona um caminho de um usuário local não privilegiado para a execução de código como root.


Tecnicamente a cadeia se constrói em torno do fato, que cifs.upcall pode mudar para os namespaces especificados na descrição falsa e executar uma solicitação de NSS até o final da liberação de privilégios. Como resultado, um ambiente controlado pelo atacante pode influenciar o carregamento do módulo NSS pelo processo root. As descrições públicas enfatizam que isso é uma falha lógica na fronteira entre o núcleo e o espaço do usuário, e não uma vulnerabilidade clássica de corrupção de memória.

A correção no núcleo revelou-se pequena: para o tipo de chaves cifs.spnego, foi adicionada uma verificação que rejeita descrições criadas não pelo próprio cliente CIFS com suas credenciais spnego_cred privadas. Essa abordagem fecha a classe de ataques sem alterações sincrônicas obrigatórias no cifs-utils, embora o autor ressalte que um reforço adicional no espaço do usuário ainda seja desejável.

A AlmaLinux informou, a lógica básica está presente em todas as versões suportadas do AlmaLinux, sendo que AlmaLinux 8, 9, 10 e Kitten 10 são considerados afetados quando o cifs-utils estiver instalado. Os kernels corrigidos foram preparados nos repositórios de testing: para AlmaLinux 9 o pacote é kernel-5.14.0-687.5.4.el9_8 ou mais recente, e para AlmaLinux 10 — kernel-6.12.0-211.7.4.el10_2 ou mais recente.

Como medidas temporárias antes da instalação do kernel corrigido, recomenda-se remover o cifs-utils, caso o cliente SMB/CIFS não esteja em uso no sistema, proibir o carregamento do módulo cifs, redefinir a regra cifs.spnego na chave de requisição ou desativar os namespaces de usuário não privilegiados. Essas medidas alternativas podem quebrar a autenticação Kerberos para montagens CIFS, portanto, em servidores onde as compartilhamentos SMB autenticadas por Kerberos são realmente utilizados, devem ser aplicadas com cautela.

O CIFSwitch é interessante também pelo contexto de detecção: o autor o descreve como resultado da busca por cadeias de múltiplas etapas utilizando LLM e a representação gráfica das relações entre objetos de segurança. Mas a conclusão prática para os administradores é bastante direta: verificar a presença do cifs-utils, o estado dos namespaces de usuário e as atualizações do kernel, especialmente em sistemas onde há usuários locais ou scripts de contêiner com recursos de namespace expandidos.

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster