
Proof-of-Concept-Exploit für CVE-2026-31431 (Copy Fail), eine Linux-Kernel-LPE über algif_aead-Page-Cache-Korruption, mit Erkennungs-, Labor- und Minderungsanleitung.
██████╗ ██████╗ ██████╗ ██╗ ██╗ ███████╗ █████╗ ██╗██╗
██╔════╝██╔═══██╗██╔══██╗╚██╗ ██╔╝ ██╔════╝██╔══██╗██║██║
██║ ██║ ██║██████╔╝ ╚████╔╝ █████╗ ███████║██║██║
██║ ██║ ██║██╔═══╝ ╚██╔╝ ██╔══╝ ██╔══██║██║██║
╚██████╗╚██████╔╝██║ ██║ ██║ ██║ ██║██║███████╗
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚══════╝
algif_aead Page-Cache-Korruption⚠️ NUR FÜR AUTORISIERTE NUTZUNG — Dieses Repository ist ausschließlich für Penetrationstester, Sicherheitsforscher und Verteidiger gedacht, die unter rechtmäßiger Autorisierung handeln. Missbrauch ist eine Straftat.
| # | Abschnitt | Beschreibung |
|---|---|---|
| 1 | Was ist Copy Fail? | Zusammenfassung der Schwachstelle |
| 2 | Technischer Tiefgang | Ursachenanalyse |
| 3 | Betroffene Systeme | Distro- und Kernel-Matrix |
| 4 | Repository-Struktur | Datei-Übersicht |
| 5 | Labor-Einrichtung | Sicher reproduzieren |
| 6 | Exploit-Nutzung | Pentest-Workflow |
| 7 | Erkennung | YARA, Sigma, Skripte |
| 8 | Gegenmaßnahmen | Patch & Härtung |
| 9 | Pentest-Berichterstattung | Berichtsvorlagen |
| 10 | Rechtliches & Ethik | Haftungsausschluss |
| 11 | Referenzen | CVEs, Advisories, Blogs |
Copy Fail ist eine lokale Rechteausweitung (LPE)-Schwachstelle, die am 29. April 2026 offengelegt wurde und praktisch alle großen Linux-Distributionen betrifft, die Kernel seit 2017 ausführen.
Unprivilegierter Benutzer ──► AF_ALG + splice() ──► 4-Byte Page-Cache-Schreibzugriff ──► ROOT
| Eigenschaft | Detail |
|---|---|
| CVE-ID | CVE-2026-31431 |
| Spitzname | Copy Fail |
| CVSS v3.1 | 7.8 (HOCH) |
| Angriffsvektor | Lokal |
| Erforderliche Rechte | Niedrig (beliebiger unprivilegierter Benutzer) |
| Benutzerinteraktion | Keine |
| Entdecker | Xint Code (Theori) |
| Offenlegung | 29. April 2026 |
| Exploit-Größe | 732 Bytes (Python PoC) |
| Patch-Status | ✅ Verfügbar — Commit a664bf3d603d rückgängig machen |
Die Schwachstelle stammt aus einer fehlerhaften In-Place-Optimierung, die 2017 (Commit 72548b093ee3) im Modul algif_aead der Linux-Kernel-Benutzerraum-Krypto-API (AF_ALG) eingeführt wurde.
AF_ALG (Benutzerraum-Krypto-API)
└── algif_aead-Modul
└── authencesn-Vorlage ◄── ANGREIFBAR
└── In-Place-Optimierung (2017)
└── req->src == req->dst ◄── Seiten von splice() in beschreibbare dst-Liste eingereiht
Schritt 1: AF_ALG AEAD-Socket öffnen
socket(AF_ALG, SOCK_SEQPACKET, 0)
Schritt 2: splice()-Seiten senden, die auf die Zieldatei verweisen
(Page-Cache-Seiten einer privilegierten Binärdatei, z. B. /usr/bin/sudo)
Schritt 3: authencesn-Notiz-Schreibzugriff auslösen
authencesn verwendet den dst-Puffer als Notizblock →
schreibt 4 kontrollierte Bytes ÜBER den legitimen Ausgabebereich hinaus
Schritt 4: Page-Cache-Eintrag der Zieldatei ist nun korrupt
(Festplattendatei unberührt — nur die Kopie im Speicher wurde geändert)
Schritt 5: Die modifizierte Binärdatei ausführen → ROOT
Der Page-Cache des Linux-Kernels speichert speicherseitige Kopien von Dateien. Wenn eine Datei gelesen wird, werden ihre Seiten zwischengespeichert. Der splice()-Systemaufruf kann direkt auf diese zwischengespeicherten Seiten verweisen. Durch das Einfügen von Page-Cache-Seiten in die AF_ALG AEAD-Streuungsliste landet der authencesn-Notiz-Schreibzugriff innerhalb dieser zwischengespeicherten Seiten und patcht effektiv die speicherseitige Kopie jeder lesbaren Datei – einschließlich privilegierter Binärdateien wie sudo, pkexec oder passwd.
Der Upstream-Fix macht die fehlerhafte Optimierung von 2017 rückgängig:
# Behoben in Commit: a664bf3d603d
git show a664bf3d603d
| Kernel-Branch | Betroffen? | Feste Version |
|---|---|---|
| 4.9.x (LTS) | ✅ Ja | 4.9.340+ |
| 5.4.x (LTS) | ✅ Ja | 5.4.295+ |
| 5.10.x (LTS) | ✅ Ja | 5.10.239+ |
| 5.15.x (LTS) | ✅ Ja | 5.15.185+ |
| 6.1.x (LTS) | ✅ Ja | 6.1.132+ |
| 6.6.x (LTS) | ✅ Ja | 6.6.83+ |
| 6.12.x (LTS) | ✅ Ja | 6.12.19+ |
| < 4.9 (vor 2017) | ❌ Nein | N/A — Optimierung nicht vorhanden |
| Distribution | Betroffene Versionen | Gepatched? | Advisory |
|---|---|---|---|
| Ubuntu | < 26.04 (alle Releases) | ✅ Gepatched | USN |
| Ubuntu 26.04 (Resolute) | ❌ Nicht betroffen | — | — |
| RHEL / CentOS | 7, 8, 9 | ✅ Gepatched | RHSA-2026 |
| Amazon Linux | 2, 2023 | ✅ Gepatched | ALAS |
| SUSE / openSUSE | Alle betroffen | ✅ Gepatched | SUSE-SU |
| Debian | Bullseye, Bookworm | ✅ Gepatched | DSA |
| CloudLinux | 8, 9 | ✅ Gepatched | Advisory |