
Exploit para la escalada local de privilegios en Sudo mediante un nsswitch.conf malicioso con sudo -R. (CVE-2025-32463)
CVE-2025-32463 Escalada de privilegios local en Sudo mediante nsswitch.conf malicioso con sudo -R. Versiones afectadas 1.9.14 – 1.9.17
Sudo es una utilidad de línea de comandos ampliamente utilizada en sistemas tipo Unix que permite a los usuarios autorizados ejecutar comandos con privilegios elevados. Desempeña un papel fundamental en la aplicación del principio de privilegio mínimo y en el mantenimiento de un registro de auditoría seguro de las actividades administrativas.
La Unidad de Investigación Cibernética de Stratascale (CRU) descubrió dos vulnerabilidades de escalada de privilegios local en Sudo, una de las cuales es CVE-2025-32463. Esta vulnerabilidad afecta a las versiones 1.9.14 a 1.9.17 de Sudo y permite a usuarios locales sin privilegios obtener acceso root abusando de la opción --chroot (-R), incluso si no hay reglas de sudo definidas para el usuario.
Este repositorio proporciona una reimplementación en Python de prueba de concepto (PoC) del exploit Bash original desarrollado por el equipo CRU. Demuestra cómo lograr la ejecución arbitraria de código como root mediante un archivo nsswitch.conf manipulado dentro de un entorno chroot controlado por el usuario.
CVE ID: CVE-2025-32463
Software afectado: Sudo (versiones 1.9.14 – 1.9.17)
Característica vulnerable: opción --chroot (-R)
Impacto: Escalada de privilegios local (sin privilegios → root)
Requisitos previos de explotación:
No se requieren permisos de sudo para el usuario
Capacidad de ejecutar sudo -R en versiones vulnerables
Corregido en: Sudo 1.9.17p1
La vulnerabilidad se origina en la forma en que Sudo procesa el archivo nsswitch.conf dentro de un entorno con chroot. Cuando se invoca con la opción --chroot, Sudo realiza múltiples llamadas chroot() que invocan pivot_root() y esa llamada carga nsswitch.conf desde una ruta controlada por el atacante.
Al colocar un archivo nsswitch.conf malicioso con una fuente NSS personalizada (por ejemplo, passwd: /woot1337) dentro del directorio chroot, y proporcionar un objeto compartido malicioso correspondiente (libnss_/woot1337.so.2), un atacante puede engañar a Sudo para que cargue y ejecute código arbitrario con privilegios de root.
git clone https://github.com/pevinkumar10/CVE-2025-32463
cd CVE-2025-32463
pip3 install -r requirements.txt
python3 exploit.py
Esta versión en Python replica la lógica del PoC Bash original del equipo CRU de Stratascale. Crea un entorno root falso, compila un módulo NSS malicioso, configura las condiciones de explotación e invoca sudo -R para desencadenar la vulnerabilidad.
La reimplementación en Python:
Automatiza toda la cadena de explotación
Mejora la portabilidad y la legibilidad
Conserva el comportamiento y el impacto del exploit original
Cualquier usuario local en un sistema que ejecute una versión vulnerable de Sudo (1.9.14 - 1.9.17) puede obtener acceso root sin necesidad de ninguna regla de sudoers. Esto afecta a las configuraciones predeterminadas de Sudo.
Actualice a Sudo 1.9.17p1 o posterior
Evite el uso de la opción obsoleta --chroot
Revise /etc/sudoers y /etc/sudoers.d en busca de directivas CHROOT= o runchroot=
Audite los archivos de registro de comandos Sudo que utilicen CHROOT= mediante syslog o entradas del journal
Más detalles: https://www.sudo.ws/security/advisories/chroot_bug/
PoC original en Bash: Stratascale Cyber Research Unit (CRU)
Vulnerabilidad descubierta por: Rich Mirch (CRU)
Agradecimiento al mantenedor: Todd C. Miller (Proyecto Sudo)
Este PoC en Python se publica bajo la licencia MIT. El concepto original del exploit y el crédito de divulgación pertenecen a la Stratascale Cyber Research Unit.