
Proof-of-Concept-Exploit für CVE-2026-31431, eine Speicherkorruptions-Schwachstelle im Linux-Kernel-AF_ALG. Nutzt splice, um /usr/bin/su im Page Cache zu patchen und so eine passwortlose Root-Eskalation zu ermöglichen.
CopyFail ist ein Proof-of-Concept-Exploit für CVE-2026-31431, der eine Speicherkorruptions-Schwachstelle in der Linux-Kernel-Crypto-API (AF_ALG) angreift. Der Exploit nutzt den Systemaufruf splice, um eine unbefugte Page-Cache-Modifikation der Binärdatei /usr/bin/su durchzuführen, wodurch eine passwortlose Eskalation zu Root ermöglicht wird.
Die Schwachstelle liegt in der Behandlung von Zero-Copy-Datenübertragungen zwischen AF_ALG-Sockets und anderen Dateideskriptoren über splice im Linux-Kernel. Aufgrund unzureichender Synchronisierung oder Grenzprüfung in der aead-Implementierung können von der Crypto-Engine verarbeitete Daten zurück in den Page-Cache der Quelldatei geschrieben werden.
AF_ALG-Socket und verwendet sendmsg, um eine schädliche Nutzlast in den internen Puffern des Sockets in die Warteschlange zu stellen.splice zur Übertragung von Daten aus der Binärdatei /usr/bin/su in den AF_ALG-Socket verursacht die Schwachstelle, dass die Pufferinhalte des Sockets den Page-Cache der Binärdatei im Speicher überschreiben.su durch eine minimale ELF-Nutzlast, die eine Root-Shell erzeugt. Da der Page-Cache modifiziert wird, führen nachfolgende Ausführungen von su den Code des Angreifers aus, anstatt der ursprünglichen Binärdatei.RawSyscall für alle Kernel-Interaktionen.AF_ALG/splice-Interaktion.fmt- oder os-Pakete).Kompilieren Sie den Exploit für die aktuelle Architektur:
go build -ldflags="-s -w" -o CopyFail CVE-2026-31431.go
Führen Sie die kompilierte Binärdatei aus:
./CopyFail
Nach erfolgreicher Ausführung wird die su-Binärdatei im Speicher gepatcht und ausgeführt, wodurch eine Root-Shell gewährt wird.
Die folgende Demonstration zeigt, wie der Exploit auf einer Standard-Kali-Linux-Installation kompiliert und ausgeführt wird.
# 1. Aktuellen unprivilegierten Benutzer überprüfen
kali@kali:~$ whoami
kali
# 2. Den Exploit kompilieren
kali@kali:~$ go build -ldflags="-s -w" -o CopyFail CVE-2026-31431.go
# 3. Den CopyFail-Exploit ausführen
kali@kali:~$ ./CopyFail
[+] Triggering AF_ALG memory corruption...
[+] Patching /usr/bin/su in page-cache...
[+] Executing patched binary...
# 4. Erfolg: Zur Root-Shell eskaliert
root@kali:/home/kali# id
uid=0(root) gid=0(root) groups=0(root)
root@kali:/home/kali# whoami
root
Zur Minderung dieser Schwachstelle werden die folgenden Schritte empfohlen:
af_alg- und die zugehörigen Module:
modprobe -r af_alg
auditd), um verdächtige splice-Aufrufe zu überwachen, die auf sensible Systembinärdateien abzielen.⚠️ Warnung: Dieses Tool dient ausschließlich autorisierten Sicherheitsforschungs- und Bildungszwecken. Das Patchen des Page-Caches ist eine volatile Operation und kann Systeminstabilität verursachen. Der Autor übernimmt keine Haftung für Missbrauch.
CVE-2026-31431 („Copy Fail") wurde vom Forschungsteam bei Theori entdeckt und veröffentlicht.
Dieses Projekt ist unter der MIT-LIZENZ lizenziert.