
CVE-2026-31431 – Leitfaden zur Behebung und Schutzmaßnahmen
Dieses Repository dokumentiert die Schwachstelle CVE-2026-31431, auch bekannt als Copy Fail, und bietet ein Verfahren zur defensiven Remediation für potenziell betroffene Linux-Systeme.
⚠️ Dieses Repository ist strikt auf Verteidigung, autorisierte Audits, Härtung und Remediation ausgerichtet.
Es enthält kein Exploit-Verfahren und darf nicht verwendet werden, um Systeme Dritter zu kompromittieren.
CVE-2026-31431 / Copy Fail ist eine Schwachstelle zur lokalen Privilegienerweiterung im Linux-Kernel.
Sie betrifft das kryptografische Subsystem des Kernels, genauer gesagt die Benutzerschnittstelle AF_ALG und das Modul algif_aead. Die Schwachstelle hängt mit einer 2017 eingeführten Optimierung im AEAD-Pfad des Linux-Kernels zusammen. Unter bestimmten Bedingungen kann ein lokaler, nicht privilegierter Benutzer einen kontrollierten Schreibzugriff in den einer lesbaren Datei auslösen, insbesondere eines setuid-Binärprogramms, was zu einer Privilegienerweiterung auf führen kann.
rootDie Schwachstelle wird als High mit einem CVSS-v3.1-Score von 7.8 eingestuft.
| Element | Detail |
|---|---|
| CVE | CVE-2026-31431 |
| Öffentlicher Name | Copy Fail |
| Typ | Local Privilege Escalation, LPE |
| Komponente | Linux kernel crypto subsystem |
| Betroffenes Modul | algif_aead |
| Schnittstelle | AF_ALG |
| Beteiligter Mechanismus | AEAD, authencesn, splice(), page cache |
| CVSS-Score v3.1 | 7.8 High |
| Erforderliche Privilegien | Lokales, nicht privilegiertes Konto |
| Benutzerinteraktion | Keine |
| Auswirkung | Hohe Vertraulichkeit, Integrität und Verfügbarkeit |
Öffentliche Quellen weisen darauf hin, dass Linux-Distributionen mit einem Kernel, der seit der Optimierung von 2017 von einem verwundbaren Zweig abgeleitet ist, betroffen sein können.
Beispiele für Plattformen, die in öffentlichen Veröffentlichungen genannt werden:
| Distribution | Beispiel einer öffentlich getesteten Kernel-Version |
|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 |
| RHEL 10.1 | 6.12.0-124.45.1.el10_1 |
| SUSE 16 | 6.12.0-160000.9-default |
| Debian | Je nach Kernel-Version und Sicherheitsstatus |
| AlmaLinux / Rocky Linux / Oracle Linux | Je nach Kernel-Version und Hersteller-Backports |
Der genaue Status hängt von der Kernel-Version, dem Anbieter, den Sicherheits-Backports und bereits angewendeten Patches ab.
Diese Schwachstelle ist besonders gefährlich in Umgebungen, in denen nicht vertrauenswürdige Benutzer oder Workloads Zugriff auf eine lokale Shell oder eine gemeinsame Ausführungsumgebung haben.
Umgebungen mit Priorität:
Hauptrisiko:
root;uname -a
uname -r
lsmod | grep algif_aead || true
sudo lsof -nP | grep AF_ALG || true
dpkg -l | grep -E '^ii\\s+linux-image|^ii\\s+linux-modules'
rpm -qa | grep -E '^kernel|^kernel-core'
rpm -qa | grep -E '^kernel'
Prioritäre Option: Anwenden des Kernel-Patches des Anbieters Die korrekte Remediation besteht darin, einen gepatchten Kernel der Distribution zu installieren und anschließend mit diesem Kernel neu zu starten.
sudo apt update
sudo apt full-upgrade -y
sudo reboot
sudo dnf update -y kernel kernel-core kernel-modules
sudo reboot
sudo zypper refresh
sudo zypper patch
sudo reboot
# Nach dem Neustart:
uname -r
Wenn noch kein gepatchter Kernel verfügbar ist oder ein sofortiger Neustart nicht möglich ist, eine temporäre Mitigation anwenden.
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo modprobe -r algif_aead 2>/dev/null || true
sudo rmmod algif_aead 2>/dev/null || true
sudo update-initramfs -u
sudo dracut -f
sudo mkinitrd
sudo reboot
sudo modprobe algif_aead
echo $?
Bei einigen Kerneln kann das Modul direkt in den Kernel kompiliert sein und nicht als Modul geladen/entladen werden.
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
CONFIG_CRYPTO_USER_API_AEAD=m
Die Komponente ist ein Modul. Die Mitigation über /etc/modprobe.d/ ist anwendbar.
CONFIG_CRYPTO_USER_API_AEAD=y
Die Komponente ist fest im Kernel integriert. Die Mitigation über modprobe.d reicht nicht aus.
In diesem Fall bevorzugt verwenden:
Einige Quellen erwähnen die folgende Kernel-Option als möglichen Workaround:
initcall_blacklist=algif_aead_init
Vor einer Ausweitung unbedingt außerhalb der Produktion testen. Diese Option kann je nach Kernel, Distribution und Boot-Konfiguration variieren.
Für Docker, Podman, Kubernetes und CI/CD muss die Möglichkeit für nicht vertrauenswürdige Workloads, AF_ALG-Sockets zu öffnen, reduziert werden.
privileged: true außer bei absoluter Notwendigkeit verbieten;sudo lsof -nP | grep AF_ALG || true
lsmod | grep algif_aead || true
find / -perm -4000 -type f 2>/dev/null
sudo ausearch -f /usr/bin/su 2>/dev/null || true
sudo auditctl -w /usr/bin/su -p x -k su_exec_monitoring
sudo ausearch -k su_exec_monitoring
last -a
lastlog
getent passwd
sudo find /etc/cron* -type f -ls 2>/dev/null
sudo find /root /home -name authorized_keys -type f -ls 2>/dev/null
sudo journalctl --since "48 hours ago"
#!/usr/bin/env bash
set -euo pipefail
echo "[+] CVE-2026-31431 - temporäre Mitigation algif_aead"
if [[ $EUID -ne 0 ]]; then
echo "[-] Dieses Skript muss als root ausgeführt werden."
exit 1
fi
echo "[+] Aktive Kernel-Version : $(uname -r)"
echo "[+] Dauerhafte Deaktivierung des Ladens von algif_aead"
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
echo "[+] Versuch, das Modul zu entladen"
modprobe -r algif_aead 2>/dev/null || true
rmmod algif_aead 2>/dev/null || true
if command -v update-initramfs >/dev/null 2>&1; then
echo "[+] Initramfs-Update Debian/Ubuntu"
update-initramfs -u
elif command -v dracut >/dev/null 2>&1; then
echo "[+] Initramfs-Update über dracut"
dracut -f
elif command -v mkinitrd >/dev/null 2>&1; then
echo "[+] Initramfs-Update über mkinitrd"
mkinitrd
else
echo "[!] Kein bekanntes Initramfs-Tool erkannt. Manuell prüfen."
fi
echo "[+] Überprüfung"
lsmod | grep algif_aead && echo "[!] Modul noch geladen" || echo "[OK] Modul nicht geladen"
echo "[+] Neustart empfohlen."
Sie ersetzt nicht:
die Installation eines gepatchten Kernels;
den Neustart mit dem gepatchten Kernel;
die Validierung des Anbieterstatus;
die Post-Incident-Analyse, wenn eine Kompromittierung vermutet wird.
Sie kann auch bestimmte Software beeinträchtigen, die explizit für die Nutzung der kryptografischen AF_ALG-Schnittstelle konfiguriert ist.
Theori / Xint Code — Copy Fail Technical Write-up https://xint.io/blog/copy-fail-linux-distributions GitHub-Repository Theori PoC https://github.com/theori-io/copy-fail-CVE-2026-31431 NVD — CVE-2026-31431 https://nvd.nist.gov/vuln/detail/CVE-2026-31431 CERT-EU — Security Advisory 2026-005 https://cert.europa.eu/publications/security-advisories/2026-005/ Ubuntu Security — CVE-2026-31431 https://ubuntu.com/security/CVE-2026-31431 Debian Security Tracker — CVE-2026-31431 https://security-tracker.debian.org/tracker/CVE-2026-31431 SUSE CVE Tracker — CVE-2026-31431 https://www.suse.com/security/cve/CVE-2026-31431.html Tenable FAQ — Copy Fail https://www.tenable.com/blog/copy-fail-cve-2026-31431-frequently-asked-questions-about-linux-kernel-privilege-escalation
Dieses Repository dient ausschließlich folgenden Zwecken:
Jede nicht autorisierte offensive Nutzung ist illegal und widerspricht dem Zweck dieses Repository.