
Utilisez CVE-2026-46333 et CVE-2026-31431 pour changer le mot de passe de n'importe quel utilisateur.
[!WARNING] Utilisez ceci uniquement sur des systèmes que vous possédez ou pour lesquels vous avez l'autorisation de tester. Il est recommandé de garder un shell root ouvert si vous ne pourrez pas redémarrer le système en cas d'échec, car vous pourriez ne pas être en mesure de vider le cache de pages pour
/etc/shadowsans root.
Utilisez CVE-2026-46333 et CVE-2026-31431 pour modifier le mot de passe de n'importe quel utilisateur sans jamais escalader vers root.
python passwd.py <username>
Vous pouvez également exécuter la commande sans arguments pour voir les hachages actuellement dans le fichier shadow.
CopyFail (CVE-2026-31431) et les vulnérabilités similaires permettent d'écrire 4 octets dans n'importe quel fichier du système d'exploitation que vous pouvez lire. Cela signifie généralement que vous ne pouvez pas modifier les fichiers que vous ne pouvez pas lire, comme les règles PAM ou le fichier shadow. Vous pouvez utiliser CopyFail pour escalader vers root et modifier n'importe quel fichier après cela (il existe de nombreux PoCs pour cela, y compris le mien RootRemover), mais que faire si nous voulons modifier d'autres fichiers sans escalader ?
CopyFail a seulement besoin d'un descripteur de fichier pour fonctionner. La plupart des PoCs ouvrent un fichier et utilisent ce FD, mais nous pouvons l'obtenir de n'importe où ailleurs. Voici CVE-2026-46333.
CVE-2026-46333 est capable de voler un descripteur de fichier vers des fichiers accessibles en lecture par root depuis chage ou ssh-keysign. Puisque nous voulons /etc/shadow pour modifier les mots de passe, nous nous concentrons sur chage. pidfd_getfd est utilisé pour voler le descripteur de fichier de /etc/shadow car il y a un moment lors de son exécution où l'UID est défini sur l'utilisateur qui l'a exécuté (permettant pidfd_getfd), mais ayant un bit SUID, il a pu ouvrir /etc/shadow en tant que root avant de rétrograder vers notre utilisateur.
Ce FD est en O_RDONLY, c'est-à-dire en lecture seule, mais étant donné que nous avons CopyFail, cela n'a pas d'importance, nous pouvons escalader en écriture. Nous pouvons simplement passer le FD à CopyFail et utiliser l'exploit comme n'importe quel autre fichier lisible.
passwd.passwd une fois que vous avez un mot de passe connu résout ce problème.