
Nutzen Sie CVE-2026-46333 und CVE-2026-31431, um das Passwort eines beliebigen Benutzers zu ändern.
[!WARNING] Verwenden Sie dies nur auf Systemen, die Ihnen gehören oder für deren Test Sie autorisiert sind. Es wird empfohlen, eine Root-Shell offen zu halten, falls Sie das System im Falle eines Fehlers nicht neu starten können, da Sie den Page-Cache für
/etc/shadowohne Root möglicherweise nicht leeren können.
Ändern Sie mit CVE-2026-46333 und CVE-2026-31431 das Passwort eines beliebigen Benutzers, ohne jemals auf Root zu eskalieren.
python passwd.py <username>
Sie können den Befehl auch ohne Argumente ausführen, um die aktuell in der Shadow-Datei vorhandenen Hashes anzuzeigen.
CopyFail (CVE-2026-31431) und ähnliche Schwachstellen ermöglichen es, 4 Bytes in jede beliebige Datei des Betriebssystems zu schreiben, die man lesen kann. Das bedeutet im Allgemeinen, dass man Dateien, die man nicht lesen kann, nicht ändern kann, z. B. PAM-Regeln oder die Shadow-Datei. Man kann CopyFail nutzen, um auf Root zu eskalieren und danach jede beliebige Datei zu ändern (es gibt viele PoCs dafür, einschließlich meines eigenen RootRemover) – aber was, wenn wir andere Dateien ändern wollen, ohne zu eskalieren?
CopyFail benötigt zum Funktionieren nur einen Dateideskriptor. Die meisten PoCs öffnen eine Datei und verwenden diesen FD, aber wir können ihn von überall andersherum bekommen. Hier kommt CVE-2026-46333 ins Spiel.
CVE-2026-46333 ist in der Lage, einen Dateideskriptor für root-lesbare Dateien von chage oder ssh-keysign zu stehlen. Da wir /etc/shadow ändern wollen, um Passwörter zu modifizieren, konzentrieren wir uns auf chage. pidfd_getfd wird verwendet, um den Dateideskriptor für /etc/shadow zu stehlen, weil es während seiner Ausführung einen Zeitpunkt gibt, an dem die UID auf den Benutzer gesetzt ist, der ihn ausgeführt hat (was pidfd_getfd ermöglicht), aber dank des SUID-Bits konnte er /etc/shadow als Root öffnen, bevor er auf unseren Benutzer herabgestuft wurde.
Dieser FD ist mit O_RDONLY geöffnet, also schreibgeschützt. Da wir jedoch CopyFail haben, spielt das keine Rolle; wir können auf Schreiben erweitern. Wir können den FD einfach an CopyFail weiterreichen und den Exploit wie jede andere lesbare Datei verwenden.
passwd erneut ändern.passwd setzen, sobald Sie tatsächlich ein bekanntes Passwort haben.