
Proof-of-Concept-Exploit für CVE-2026-31431, eine lokale Privilegieneskalation unter Linux über einen Logikfehler in authencesn, mit ARM64-Variante für autorisierte Laborvalidierung.
Copy Fail ist eine lokale Privilegieneskalation für Linux, die von Theori/Xint als
CVE-2026-31431 veröffentlicht wurde. Die Projektseite beschreibt einen Logikfehler in
authescesn, der über AF_ALG und splice() erreicht werden kann und einen
kleinen Page-Cache-Schreibvorgang gegen eine setuid-Binärdatei erzeugt. Auf betroffenen Systemen kann ein
unprivilegierter lokaler Benutzer Root werden.
Dieses Repository enthält eine Kopie des Upstream-Proof-of-Concept und fügt eine ARM64-Variante hinzu, die auf Ubuntu 25.10 ARM getestet wurde.

| Datei | Zweck |
|---|---|
copy_fail_exp.py | Originaler Upstream-PoC, mit der Quell-URL im Dateikopf. |
copy_fail_exp_arm64.py | ARM64-angepasster PoC, getestet und funktionsfähig auf Ubuntu 25.10 ARM. |
Diese Skripte dienen nur der autorisierten Validierung in Wegwerf-Laborsystemen. Sie sind
keine allgemeinen Schwachstellen-Scanner. Sie versuchen den Copy-Fail-Exploit-Pfad
gegen /usr/bin/su; wenn der Host verwundbar ist und die Umgebung kompatibel ist,
ist das Ergebnis eine echte Root-Shell.
⚡ Verwenden Sie den Original-PoC, um den öffentlichen Exploit-Pfad auf kompatiblen Linux-Systemen zu validieren. Verwenden Sie die ARM64-Variante, um ARM-basierte Linux-Hosts zu testen, bei denen sich die eingebettete Payload vom Upstream-Skript unterscheidet.
Ein fehlgeschlagener Lauf beweist nicht, dass ein Host gepatcht ist. Kernel-Version, Distributions-Backports, Architektur, lokale Härtung, Container-Richtlinie und Laufzeitumgebung können das Verhalten beeinflussen.
Zuerst patchen. Laut copy.fail sollten Systeme auf einen
Distributions-Kernel aktualisieren, der den Mainline-Commit a664bf3d603d enthält, und dann
in diesen Kernel neu starten und die laufende Version überprüfen.
Bis der Kernel gepatcht werden kann, deaktivieren Sie das Modul algif_aead:
sudo sh -c 'printf "%s\n" "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf'
sudo rmmod algif_aead 2>/dev/null || true
Für nicht vertrauenswürdige Workloads wie Container, CI-Runner, Sandboxes und gemeinsam genutzte
Entwickler-Hosts blockieren Sie zusätzlich die Erstellung von AF_ALG-Sockets mit einer seccomp-Richtlinie.
Die Mitigation-Empfehlung von copy.fail weist darauf hin, dass das Deaktivieren von algif_aead
die typische dm-crypt/LUKS-, kTLS-, IPsec/XFRM-, OpenSSL/GnuTLS/NSS-, SSH- oder
Kernel-Keyring-Krypto-Nutzung nicht beeinträchtigen sollte. Es kann Software beeinträchtigen, die explizit für die
Verwendung von AF_ALG-Sockets konfiguriert ist.