
# cve-2025-32463 - Escalada local de privilegios a root mediante sudo chroot en Linux
sudo chroot <dir name> <command>
Ejecuta el comando command en el directorio dir name seleccionado.
Este problema se introdujo en sudo v1.9.14, una versión que actualizó el código de manejo de coincidencias cuando se utiliza la característica chroot.

Este nuevo cambio hace que se cambie el ID del directorio raíz antes de la coincidencia al ejecutar el comando chroot. Las funciones específicas se definen en plugins/sudoers/pivot.c. Este archivo (ahora eliminado) define las funciones pivot_root() y unpivot_root() que manejan la lógica de coincidencia de chroot. Llamar a estas dos funciones desencadena una operación de conmutación del servicio de nombres (NSS), lo que provoca que el sistema cargue el archivo de configuración /etc/nsswitch.conf desde un entorno no confiable (porque chroot ya ha cambiado al ID del directorio raíz actual). Este archivo de configuración contiene directivas que indican al sistema cómo recuperar información sobre usuarios, grupos y hosts; puede enumerar múltiples fuentes y buscar en orden hasta encontrar una coincidencia.
El punto importante de la vulnerabilidad es: al realizar la búsqueda de fuentes en el archivo nsswitch.conf, el nombre de la fuente se utiliza como parte de la ruta del objeto compartido; por ejemplo, la fuente ldap se convierte en libnss_ldap.so. Cuando la función NSS usa la fuente ldap, carga esa biblioteca.
Para un atacante, llamar a pivot_root() y unpivot_root() desencadena operaciones NSS. Por lo tanto, el atacante puede construir un directorio raíz chroot en una ruta controlada, que contenga el archivo /etc/nsswitch.conf y bibliotecas maliciosas. El servicio de nombres puede apuntar a un módulo NSS personalizado, en el cual se puede falsificar una biblioteca compartida maliciosa.
Cuando un atacante ejecuta sudo -R <fake_root_dir> <command> para intentar ejecutar un comando en modo chroot, sudo invoca el NSS del sistema para resolver información de usuario/grupo antes de verificar completamente los permisos, leyendo el /etc/nsswitch.conf falso, que apunta a un módulo NSS malicioso. En ese momento, el proceso sudo ya ha cambiado al directorio raíz falso y aún se ejecuta con privilegios de root, por lo que carga y ejecuta el código de la biblioteca compartida maliciosa del atacante con privilegios 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