
Schnelles Mitigations- und Patch-Skript für CVE-2026-31431 (Copy Fail) auf Ubuntu/Debian VPS
🌐 Englisch | Português | Español | 中文 | Íslenska
Ein-Befehl-Mitigation und Patch für CVE-2026-31431 — die Linux-Kernel-Schwachstelle „Copy Fail" zur lokalen Privilegieneskalation. Das Skript deaktiviert das betroffene algif_aead-Modul, aktualisiert Ihren Kernel über apt und installiert (optional) einen systemd-Timer, um das System auf dem neuesten Stand zu halten.
Entwickelt für Ubuntu-Server (auch kompatibel mit Debian-basierten Systemen).
⚠️ Überprüfen Sie das Skript, bevor Sie es ausführen. Dies ist ein Sicherheitstool, das als Root läuft. Lesen Sie
copyfail.sh, bevor Sie es ansudoweiterleiten. Bevorzugen Sie, wenn möglich, immer den offiziellen Kernel-Update-Prozess Ihrer Distribution.
CVE-2026-31431 („Copy Fail") ist ein Logikfehler im algif_aead-Modul des Kernels (AEAD-Socket-Schnittstelle der Userspace-Crypto-API). Ein lokaler, nicht privilegierter Benutzer kann einen deterministischen 4-Byte-Schreibvorgang in den Page-Cache einer beliebigen lesbaren Datei auslösen — einschließlich setuid-Binaries — und in Sekunden Root-Zugriff erlangen. Der Fehler wurde 2017 eingeführt (Commit 72548b093ee3) und betrifft jeden Kernel, der zwischen 2017 und dem Fix gebaut wurde. Dieses Skript deaktiviert das verwundbare Modul, während Sie den Kernel-Patch Ihrer Distribution anwenden.
apt-get und awk verfügbarsudo)wget -O copyfail.sh https://raw.githubusercontent.com/paulorlima9/copyfail-fix/main/copyfail.sh
chmod +x copyfail.sh
sudo ./copyfail.sh
Beim ersten Lauf führt das Skript Folgendes aus:
/etc/modprobe.d/disable-algif.conf, um das algif_aead-Modul auf die Blacklist zu setzenalgif_aead, falls es derzeit geladen istapt-get update && apt-get upgrade -y aus, um den gepatchten Kernel zu ziehenNach dem Upgrade ist ein Neustart erforderlich, um den neuen Kernel zu laden.
sudo ./copyfail.sh [optionen]
| Option | Kurz | Beschreibung |
|---|---|---|
--help | -h | Hilfemeldung anzeigen |
--mitigate | -m | Nur Mitigation anwenden (algif_aead-Modul deaktivieren) |
--upgrade | -u | Nur Kernel/Pakete aktualisieren (apt-get upgrade) |
--check | -c | Aktuellen Status anzeigen (Kernel-Version, Modul, Mitigation) |
--revert | -r | Mitigation rückgängig machen (nachdem der Kernel gepatcht und neu gestartet wurde) |
--supervision | -s | Automatische tägliche Updates über systemd-Timer aktivieren |
Vollständiger Fix — Mitigation anwenden und Kernel aktualisieren:
sudo ./copyfail.sh
Nur Status prüfen:
sudo ./copyfail.sh --check
Nur Mitigation (kein Kernel-Upgrade):
sudo ./copyfail.sh --mitigate
Mitigation rückgängig machen, nachdem bestätigt wurde, dass der Kernel gepatcht und neu gestartet wurde:
sudo ./copyfail.sh --revert
Tägliches Auto-Update aktivieren (Supervision):
sudo ./copyfail.sh --supervision
Die Supervision-Funktion installiert einen systemd-Timer, der apt-get upgrade einmal alle 24 Stunden ausführt und so sicherstellt, dass Kernel-Patches übernommen werden, sobald Ihre Distribution sie veröffentlicht.
Wenn aktiviert, werden zwei systemd-Units erstellt:
copyfail-fix-supervision.service — Oneshot-Dienst, der das Skript mit --upgrade ausführtcopyfail-fix-supervision.timer — Timer, der den Dienst täglich auslöst (und 5 Minuten nach dem Boot)# Timer-Status prüfen
systemctl status copyfail-fix-supervision.timer
# Nächsten geplanten Lauf anzeigen
systemctl list-timers copyfail-fix-supervision.timer
# Auto-Updates deaktivieren
sudo systemctl stop copyfail-fix-supervision.timer
sudo systemctl disable copyfail-fix-supervision.timer
# Update manuell auslösen
sudo systemctl start copyfail-fix-supervision.service
install algif_aead /bin/false in /etc/modprobe.d/disable-algif.conf, damit das Modul beim nächsten Boot nicht geladen werden kannrmmod algif_aead auf, um es aus dem laufenden Kernel zu entladen (übersprungen, wenn das Modul in Verwendung ist — Neustart erforderlich)apt-get update gefolgt von einem nicht-interaktiven apt-get upgrade aus, um das neueste Kernel-Paket zu installieren--check prüft es uname -r, lsmod, die Modprobe-Datei und das neueste installierte linux-image-*-Paket--revert löscht es die Modprobe-Datei und lädt das Modul über modprobe neuWährend der Ausführung zeigt das Skript Fortschrittsindikatoren an:
+ (grün) — Aktion angewendet- (rot) — Aktion rückgängig gemacht. (grau) — Aktion übersprungen (bereits angewendet oder nicht zutreffend)! (gelb) — Warnung (z. B. Neustart erforderlich)MIT