
Usa CVE-2026-46333 e CVE-2026-31431 per cambiare la password di qualsiasi utente.
[!WARNING] Usa questo solo su sistemi di tua proprietà o per cui hai autorizzazione al test. Si consiglia di tenere aperta una shell di root se non potrai riavviare il sistema in caso di fallimento, poiché potresti non essere in grado di cancellare la cache di pagina per
/etc/shadowsenza root.
Usa CVE-2026-46333 e CVE-2026-31431 per cambiare la password di qualsiasi utente senza mai escalare a root.
python passwd.py <username>
Puoi anche eseguire il comando senza argomenti per vedere gli hash attualmente nel file shadow.
CopyFail (CVE-2026-31431) e vulnerabilità simili permettono di scrivere 4 byte in qualsiasi file del sistema operativo che puoi leggere. Questo generalmente significa che non puoi modificare file che non puoi leggere, come le regole PAM o il file shadow. Puoi usare CopyFail per escalare a root e modificare qualsiasi file desideri dopo (ci sono molti PoC per questo, incluso il mio RootRemover), ma cosa succede se vogliamo modificare altri file senza escalare?
CopyFail ha bisogno solo di un file descriptor per funzionare. La maggior parte dei PoC apre un file e usa quel FD, tuttavia possiamo ottenerlo da qualsiasi altra parte. Entra in gioco CVE-2026-46333.
CVE-2026-46333 è in grado di rubare un file descriptor per file leggibili da root da chage o ssh-keysign. Dato che vogliamo /etc/shadow per modificare le password, ci concentriamo su chage. pidfd_getfd viene utilizzato per rubare il file descriptor per /etc/shadow perché c'è un punto durante la sua esecuzione in cui l'UID è impostato all'utente che lo ha eseguito (permettendo pidfd_getfd), ma avendo il bit SUID, è stato in grado di aprire /etc/shadow come root prima di abbassarsi al nostro utente.
Questo FD è in O_RDONLY, significa sola lettura, tuttavia grazie a CopyFail questo non è un problema, possiamo eseguire l'escalation in scrittura. Possiamo semplicemente passare il FD a CopyFail e usare l'exploit come qualsiasi altro file leggibile.
passwd.passwd una volta che hai una password nota risolve il problema.