
Exploit for Local Privilege Escalation in Sudo via Malicious nsswitch.conf with sudo -R. (CVE-2025-32463)
CVE-2025-32463 Escalação de Privilégio Local no Sudo via nsswitch.conf malicioso com sudo -R. Versões afetadas 1.9.14 – 1.9.17
O Sudo é um utilitário de linha de comando amplamente utilizado em sistemas do tipo Unix que permite que usuários autorizados executem comandos com privilégios elevados. Ele desempenha um papel crítico na aplicação do princípio do menor privilégio e na manutenção de uma trilha de auditoria segura das atividades administrativas.
A Unidade de Pesquisa Cibernética (CRU) da Stratascale descobriu duas vulnerabilidades de escalação de privilégio local no Sudo, uma das quais é o CVE-2025-32463. Essa vulnerabilidade afeta as versões do Sudo 1.9.14 a 1.9.17, e permite que usuários locais sem privilégios obtenham acesso root abusando da opção --chroot (-R), mesmo que nenhuma regra sudo seja definida para o usuário.
Este repositório fornece uma reimplementação em Python do proof-of-concept (PoC) do exploit Bash original desenvolvido pela equipe CRU. Ele demonstra como obter execução arbitrária de código como root através de um arquivo nsswitch.conf criado dentro de um ambiente chroot controlado pelo usuário.
CVE ID: CVE-2025-32463
Software Afetado: Sudo (versões 1.9.14 – 1.9.17)
Funcionalidade Vulnerável: opção --chroot (-R)
Impacto: Escalação de Privilégio Local (sem privilégios → root)
Pré-requisitos de Exploração:
Nenhuma permissão sudo necessária para o usuário
Capacidade de executar sudo -R em versões vulneráveis
Corrigido em: Sudo 1.9.17p1
A vulnerabilidade decorre de como o Sudo processa o arquivo nsswitch.conf dentro de um ambiente chroot. Quando invocado com a opção --chroot, o Sudo realiza múltiplas chamadas chroot() que invocam pivot_root(), e essa chamada carrega o nsswitch.conf de um caminho controlado pelo atacante.
Ao colocar um arquivo nsswitch.conf malicioso com uma fonte NSS personalizada (por exemplo, passwd: /woot1337) dentro do diretório chroot, e fornecendo um objeto compartilhado malicioso correspondente (libnss_/woot1337.so.2), um atacante pode enganar o Sudo para carregar e executar código arbitrário com privilégios de root.
git clone https://github.com/pevinkumar10/CVE-2025-32463
cd CVE-2025-32463
pip3 install -r requirements.txt
python3 exploit.py
Esta versão em Python replica a lógica do PoC Bash original da equipe CRU da Stratascale. Ela cria um ambiente root falso, compila um módulo NSS malicioso, configura as condições de exploração e invoca sudo -R para acionar a vulnerabilidade.
A reimplementação em Python:
Automatiza toda a cadeia de exploração
Melhora a portabilidade e legibilidade
Mantém o comportamento e impacto originais do exploit
Qualquer usuário local em um sistema executando uma versão vulnerável do Sudo (1.9.14 - 1.9.17) pode obter acesso root sem precisar de nenhuma regra sudoers. Isso afeta configurações padrão do Sudo.
Atualize para o Sudo 1.9.17p1 ou posterior
Evite o uso da opção depreciada --chroot
Revise /etc/sudoers e /etc/sudoers.d para diretivas CHROOT= ou runchroot=
Audite arquivos de log para comandos Sudo usando CHROOT= via syslog ou entradas de journal
Mais detalhes: https://www.sudo.ws/security/advisories/chroot_bug/
PoC Bash Original: Unidade de Pesquisa Cibernética (CRU) da Stratascale
Vulnerabilidade Descoberta por: Rich Mirch (CRU)
Agradecimento ao Mantenedor: Todd C. Miller (Projeto Sudo)
Este PoC em Python é lançado sob a licença MIT. O conceito original do exploit e o crédito da divulgação pertencem à Unidade de Pesquisa Cibernética da Stratascale.