
Permanente Minderungsskripte für CVE-2026-31431 (Copy Fail) auf Ubuntu 24.04, die das anfällige Kernelmodul algif_aead auf die Blacklist setzen und initramfs aktualisieren, um über Neustarts hinweg persistent zu bleiben.
Dieses Repository enthält Skripte, die dazu dienen, die kritische Schwachstelle CVE-2026-31431, auch bekannt als „Copy Fail“, auf Ubuntu-Systemen zu neutralisieren.
[!IMPORTANT] Kompatibilität: Diese Skripte sind auf Ubuntu Server 24.04 LTS zugeschnitten und getestet. Obwohl die Logik für andere Distributionen ähnlich ist, wurden sie nicht auf Debian oder anderen Linux-Varianten getestet.
Bevor Sie den Patch anwenden, laden Sie das offizielle Erkennungsskript (entwickelt von rootsecdev) herunter, um den aktuellen Status Ihres Systems zu validieren:
# Erkennungsskript herunterladen
wget https://raw.githubusercontent.com/rootsecdev/cve_2026_31431/main/test_cve_2026_31431.py
# Stellen Sie sicher, dass python3 installiert ist
python3 --version
Die Schwachstelle CVE-2026-31431 ($CVSS\ 7.8$) betrifft das kryptografische Subsystem des Linux-Kernels (Modul algif_aead).
Ein lokaler Benutzer kann den Page Cache des Systems beschädigen, indem er einen Fehler in der „In-Place“-Optimierung der Funktion splice() ausnutzt. Dies ermöglicht es einem Angreifer, den Kernel zu zwingen, beliebige Daten (Sequenznummern) in Speicherseiten von Dateien zu schreiben, die schreibgeschützt sein sollten (z. B. SUID-Binärdateien oder sensible Systemdateien).
modprobe -r nicht ausreichtDer Linux-Kernel verwendet einen Mechanismus namens Auto-Loading. Wenn ein Prozess oder Skript (wie der Detektor) einen Socket vom Typ AF_ALG anfordert, lädt der Kernel das Modul automatisch neu, selbst wenn es manuell entfernt wurde. Die in diesem Patch verwendete Methode („Hard Block“) verhindert physisch, dass die Modul-Binärdatei vom Kernel geladen wird.
Führen Sie den Tester aus, um zu bestätigen, ob Ihr aktueller Kernel betroffen ist:
python3 test_cve_2026_31431.py
Wenn das Skript [!] VULNERABLE anzeigt, fahren Sie mit dem nächsten Schritt fort.
Das Skript patch-CVE-2026-31431.sh neutralisiert den Angriffsvektor dauerhaft. Es erstellt eine Konfigurationsdatei in /etc/modprobe.d/ und aktualisiert die initramfs, um sicherzustellen, dass der Block nach einem Neustart bestehen bleibt.
chmod +x patch-CVE-2026-31431.sh
sudo ./patch-CVE-2026-31431.sh
Führen Sie das Erkennungsskript erneut aus. Sie sollten nun eine Meldung sehen, die darauf hinweist, dass die Voraussetzungen nicht erfüllt sind:
[+] Precondition not met ('authencesn(...) cannot be instantiated).
Dies bestätigt, dass das Modul erfolgreich neutralisiert wurde.
Sobald Ubuntu einen offiziellen Fix über ein Kernel-Update veröffentlicht (prüfen Sie die apt upgrade-Hinweise auf CVE-2026-31431), sollten Sie die nativen kryptografischen Fähigkeiten wiederherstellen:
chmod +x unpatch-CVE-2026-31431.sh
sudo ./unpatch-CVE-2026-31431.sh
Der Schutz basiert auf der folgenden Direktive innerhalb von /etc/modprobe.d/cve-2026-31431-mitigation.conf:
blacklist algif_aead
install algif_aead /bin/true
Der Befehl install leitet den Versuch des Kernels, das Modul zu laden, an /bin/true um, das einen „Erfolg“-Exit-Code zurückgibt, ohne verwundbaren Code auszuführen.