
Usa CVE-2026-46333 y CVE-2026-31431 para cambiar la contraseña de cualquier usuario.
[!WARNING] Úsalo solo en sistemas que poseas o tengas autorización para probar. Se recomienda mantener una shell de root abierta si no podrás reiniciar el sistema en caso de fallo, ya que podrías no ser capaz de limpiar el caché de páginas de
/etc/shadowsin root.
Usa CVE-2026-46333 y CVE-2026-31431 para cambiar la contraseña de cualquier usuario sin escalar nunca a root.
python passwd.py <username>
También puedes ejecutar el comando sin argumentos para ver los hashes actualmente en el archivo shadow.
CopyFail (CVE-2026-31431) y vulnerabilidades similares permiten escribir 4 bytes en cualquier archivo del sistema operativo que puedas leer. Esto generalmente significa que no puedes modificar archivos que no puedas leer, como las reglas de PAM o el archivo shadow. Puedes usar CopyFail para escalar a root y cambiar cualquier archivo que quieras después de eso (hay muchos PoCs para esto, incluido el mío propio RootRemover), pero ¿qué pasa si queremos modificar otros archivos sin escalar?
CopyFail solo necesita un descriptor de archivo para funcionar. La mayoría de los PoCs abren un archivo y usan ese FD, sin embargo podemos obtenerlo de cualquier otro lugar. Entra CVE-2026-46333.
CVE-2026-46333 es capaz de robar un descriptor de archivo de archivos legibles por root desde chage o ssh-keysign. Ya que queremos /etc/shadow para modificar contraseñas, nos enfocamos en chage. pidfd_getfd se usa para robar el descriptor de archivo de /etc/shadow porque hay un punto durante su ejecución en el que el UID se establece al usuario que lo ejecutó (permitiendo pidfd_getfd), pero al tener un bit SUID, pudo abrir /etc/shadow como root antes de bajar a nuestro usuario.
Este FD está en O_RDONLY, lo que significa solo lectura, sin embargo, como tenemos CopyFail, esto no importa, podemos escalar a escritura. Simplemente podemos pasar el FD a CopyFail y usar el exploit como cualquier otro archivo legible.
passwd.passwd una vez que tengas una contraseña conocida soluciona esto.