
CVE-2026-31431 Copy Fail Linux-Kernel-Schwachstellenerkennungsskript
CVE-2026-31431 (Copy Fail) ist eine lokale Privilege-Escalation-Schwachstelle im Linux-Kernel, die über AF_ALG-Sockets (Address Family 38) in Kombination mit dem splice()-Zero-Copy-Systemaufruf die Dateischreibrechte umgeht, den Page Cache manipuliert und so eine Manipulation von SUID-Binärdateien ohne Schreibrechte ermöglicht, wodurch Root-Rechte erlangt werden.
socket(AF_ALG, SOCK_SEQPACKET, 0) # AF_ALG-Socket erstellen
-> bind(authesn(hmac(sha256),cbc(aes))) # AEAD-Verschlüsselungstemplate binden
-> sendmsg(AEAD-Operation) # Kernel-Verschlüsselungspfad auslösen
-> splice(-> Zieldatei) # Zero-Copy-Schreiben, umgeht Berechtigungsprüfung
-> SUID-Dateien wie /usr/bin/su manipulieren # Privilege Escalation auf root
| Kernel-Zweig | Betroffener Bereich | Behobene Version |
|---|---|---|
| mainline / 6.19.x | < 6.19.12 | >= 6.19.12 |
| 6.18.x (stable) | < 6.18.22 | >= 6.18.22 |
| 6.12.x (LTS) | < 6.12.23 | >= 6.12.23 |
| 6.6.x (LTS) | < 6.6.87 | >= 6.6.87 |
| 6.1.x (LTS) | < 6.1.130 | >= 6.1.130 |
| 4.14 ~ < 7.0 | Alle betroffen | Upgrade auf sichere Version |
| < 4.14 | Nicht betroffen | - |
| >= 7.0 | Fix bereits enthalten | - |
# Skript herunterladen
wget https://raw.githubusercontent.com/tangjie1/CVE-2026-31431-Check/main/cve-2026-31431-check.sh
# Ausführungsrechte vergeben und ausführen (Root erforderlich)
chmod +x cve-2026-31431-check.sh
sudo ./cve-2026-31431-check.sh
# Nicht-interaktiver Modus (für Automatisierung/CI)
sudo ./cve-2026-31431-check.sh --non-interactive
| Nr. | Prüfinhalt | Beschreibung |
|---|---|---|
| [1.0] | Tabelle der betroffenen Versionsbereiche | Übersicht der betroffenen/behobenen Versionen pro Zweig |
| [1.1] | Kernel-Version | Abgleich mit bekannten betroffenen Bereichen und behobenen Baselines |
| [1.2] | algif_aead-Modulstatus | Vier Zustände: eingebaut / geladen / vorhanden, bei Bedarf ladbar / nicht vorhanden |
| [1.3] | authencesn-Verschlüsselungstemplate | Verfügbarkeit in /proc/crypto |
| [1.4] | Gegenmaßnahmen | initcall_blacklist + modprobe.d-Blacklist |
| [1.5] | Gesamtbewertung | Multifaktorielle Kreuzauswertung mit safe/medium/high/critical-Ergebnis |
| Nr. | Prüfinhalt | Beschreibung |
|---|---|---|
| [2.1] | SUID-Page-Cache-Erkennung | dd direct I/O vs. Cache-Hash-Vergleich |
| [2.2] | Modul-Ladeverlauf | dmesg + lsmod-Ladezeit |
| [2.3] | Shell-Verlaufsscan | Schlüsselwortabgleich in .bash_history aller Benutzer |
| [2.4] | Systemdatei-Erkennung | UID=0-Anomalie-Benutzer / passwd & SUID-Änderungszeit |
| [2.5] | Temporärverzeichnis-Scan | Verdächtige Dateien in /tmp /var/tmp /dev/shm der letzten 24h |
| [2.6] | Systemlog-Audit | su-Fehlerprotokolle + sudo-Schwachstellen-Schlüsselwörter |
| [2.7] | Container-Escape-Erkennung | Docker-Umgebung + seccomp + /proc/1/root |
| Methode | Prinzip | Neustart erforderlich | Anwendungsszenario |
|---|---|---|---|
| Methode 1 | modprobe.d-Blacklist + rmmod | Nein | CONFIG=m (Modulmodus) |
| Methode 2 | initcall_blacklist-Kernelparameter | Ja | CONFIG=y (eingebauter Modus) oder Defense-in-Depth |
| Methode 3 | Kernel-Upgrade auf sichere Version | Ja | Dauerhafte Behebung (empfohlen) |
Ubuntu / Debian / Kali / CentOS / RHEL / Rocky / AlmaLinux / Fedora / openSUSE / Arch Linux / Alpine Linux
MIT License
Dieses Tool dient ausschließlich der Sicherheitsforschung und autorisierten Penetrationstests. Der Benutzer muss sicherstellen, dass er die lokalen Gesetze und Vorschriften einhält und das Tool nur auf Zielsystemen mit ausdrücklicher Genehmigung einsetzt. Der Entwickler übernimmt keine Verantwortung für Folgen unbefugter Nutzung.