
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 Page Cache einer lesbaren Datei auslösen, insbesondere eines setuid-Binärprogramms, was zu einer Privilegienerweiterung auf root führen kann.
Die 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