
CVE-2026-31431-CopyFail---Minified-LPE-PoC
⚠️ Haftungsausschluss Nur für Bildungszwecke und autorisierte Sicherheitstests. Dieser Proof-of-Concept (PoC) wurde für autorisierte Red-Team-Übungen und Schwachstellenaudits synthetisiert. Die Autoren und Mitwirkenden übernehmen keinerlei Haftung für den Missbrauch dieses Codes. Verwenden Sie diesen Exploit nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben.
📝 Überblick CVE-2026-31431 (umgangssprachlich als "Copy Fail" bekannt) ist eine lokale Privilegienausweitung (LPE) in der Cryptographic API (AF_ALG) des Linux-Kernels. Durch die Kombination eines AF_ALG-Sockets mit dem splice()-Systemaufruf kann ein unprivilegierter Benutzer den Kernel zwingen, beliebige Bytes direkt in den In-Memory-Page-Cache einer schreibgeschützten Datei zu schreiben. Diese spezifische Implementierung ist stark minimiert (18 Zeilen), was sie ideal für Red-Team-Operationen macht, bei denen ein Angreifer eine eingeschränkte Shell hat, keine Dateien hochladen kann und den Exploit manuell über den interaktiven Modus von python3 eingeben muss.
⚙️ Exploit-Strategie Anstatt zu versuchen, komplexen ELF-Shellcode in eine setuid-Binärdatei zu injizieren (was aufgrund von Padding- und Header-Einschränkungen oft abstürzt), zielt dieses Skript auf /etc/passwd ab.
0000 per Zero-Copy über die vorhandene UID zu splitten (splice).su <aktueller_benutzer> prüft den korrupten Cache, sieht UID 0, validiert das normale Passwort des Benutzers und gibt eine Root-Shell.🚀 Voraussetzungen
Die anfälligen Krypto-Module müssen im Kernel geladen sein, damit dieser Exploit funktioniert:
sudo modprobe algif_aead authencesn
🎯 Ausführung & Überprüfung
Password:#. Überprüfen Sie dies mit id (uid=0(root)).
Hinweis: Wenn das Skript abgeschlossen ist, Sie jedoch eine "Authentication Failure" erhalten, könnte der Name Service Cache Daemon (nscd oder sssd) Ihren alten UID-Wert zwischenspeichern. Führen Sie nscd -i passwd (falls verfügbar) oder su - <benutzername> aus, um eine Aktualisierung zu erzwingen.🧹 Bereinigung / Behebung
Dieser Exploit verändert nur den flüchtigen Speicher des Systems. Um das System in seinen sicheren Zustand zurückzuversetzen und die korrekte UID-Zuordnung ohne Neustart wiederherzustellen, entfernen Sie die korrupte Seite aus dem Cache:
# Muss als Root ausgeführt werden echo 3 > /proc/sys/vm/drop_caches