
# cve-2025-32463 - Local Privilege Escalation to Root via Sudo chroot in Linux
sudo chroot <dir name> <command>
Executa o comando command no diretório dir name especificado.
Este problema foi introduzido no sudo v1.9.14, onde o código de tratamento de correspondência usado pelo recurso chroot foi atualizado.

Esta nova modificação faz com que, antes da execução do comando chroot, o ID do diretório raiz seja alterado para correspondência. As funções específicas estão definidas em plugins/sudoers/pivot.c. Este arquivo (agora removido) define as funções pivot_root() e unpivot_root() para lidar com a lógica de correspondência do chroot. Chamar essas duas funções aciona a operação de troca de serviço de nomes (NSS), fazendo com que o sistema carregue o arquivo de configuração /etc/nsswitch.conf de um ambiente não confiável (porque o chroot já alterou o ID do diretório raiz atual). Este arquivo de configuração contém diretivas que instruem o sistema sobre como recuperar informações sobre usuários, grupos e hosts, podendo listar várias fontes e pesquisá-las em ordem até encontrar uma correspondência.
Como /etc/nsswitch.conf contém muitas linhas de entrada, a busca por informações é feita de acordo com a ordem das linhas. O ponto crucial da vulnerabilidade é: ao realizar a busca por fontes no arquivo nsswitch.conf, o nome da fonte é usado como parte do caminho do objeto compartilhado, por exemplo: a fonte ldap é convertida em libnss_ldap.so. Quando a função NSS usa a fonte ldap, essa biblioteca é carregada.
Para um atacante, chamar pivot_root() e unpivot_root() acionará uma operação NSS. Assim, o atacante pode construir um diretório raiz chroot sob um caminho controlável, contendo o arquivo /etc/nsswitch.conf e arquivos de biblioteca maliciosos. O serviço de nomes pode apontar para um módulo NSS personalizado, no qual uma biblioteca compartilhada maliciosa pode ser forjada.
Quando o atacante executa sudo -R <fake_root_dir> <command> tentando executar um comando em modo chroot, o sudo chama o NSS do sistema para resolver informações de usuário/grupo antes de verificar completamente as permissões, lendo o /etc/nsswitch.conf falsificado, que indica o módulo NSS malicioso. Neste momento, o processo sudo já mudou para o diretório raiz falso e ainda está rodando com privilégios de root, portanto carregará e executará o código da biblioteca compartilhada maliciosa do atacante com privilégios de root.
git clone https://github.com/Spongebob-369/cve-2025-32463.git
cd cve-2025-32463
chmod +x run.sh
./run.sh
# after entering the contain Ubuntu
./sudo-chroot.sh
id