Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
copy-fail-checker — Schreibgeschützter Bash-Checker für die „Copy Fail"-Linux-Kernel-Schwachstelle (CVE-2026-31431) | Kitploit
Tools/GitHubGitHub/samanzamani/copy-fail-checker
Privilege EscalationSchwachstellenscannerSchwachstellenanalyseExploitationScripting & AutomatisierungKryptographieLernen & Bildung
GitHubsamanzamani/copy-fail-checker

copy-fail-checker

Schreibgeschützter Bash-Checker für die „Copy Fail"-Linux-Kernel-Schwachstelle (CVE-2026-31431)

Repository anzeigen
51vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Copy Fail Checker — CVE-2026-31431

Ein kleines, abhängigkeitsarmes Bash-Skript, das Ihnen mitteilt, ob Ihr Linux-System der Copy Fail-Schwachstelle zur lokalen Rechteausweitung (CVE-2026-31431) ausgesetzt ist.

Das Skript ist schreibgeschützt: Es nutzt den Fehler nie aus, lädt nie Kernel-Module und verändert nie das System.


Was ist Copy Fail?

Copy Fail ist ein Logikfehler in der authencesn-AEAD-Kryptografievorlage des Linux-Kernels, der aus dem Userspace über die AF_ALG-Socketschnittstelle (algif_aead) erreichbar ist.

FeldWert
CVECVE-2026-31431
Offengelegt2026-04-29
CVSS v3.17.8 (Hoch)
KlasseLokale Rechteausweitung
Betroffene Komponentecrypto/authencesn + crypto/algif_aead
Eingeführt in2017 (In-Place-AEAD-Optimierung in algif_aead.c)
Hauptlinien-FixCommit a664bf3d603d, zusammengeführt am 2026-04-01

Warum das wichtig ist

Ein nicht-privilegierter lokaler Benutzer kann einen deterministischen, kontrollierten 4-Byte-Schreibvorgang in den Page Cache jeder Datei auslösen, die er lesen kann. Ein öffentlicher Proof-of-Concept (732 Bytes Python) nutzt diese Primitive, um ein Setuid-Binary zu überschreiben und auf praktisch jeder seit 2017 ausgelieferten Mainstream-Distribution Root-Rechte zu erlangen.

Wer ist betroffen

Jede Linux-Distribution, die einen seit 2017 gebauten Kernel mit aktiviertem algif_aead ausliefert. Bestätigt betroffene Familien sind:

  • Ubuntu 18.04 → 25.10 (Ubuntu 26.04 „Resolute“ ist nicht betroffen)
  • Debian (alle derzeit unterstützten Suites)
  • RHEL / AlmaLinux / Rocky / CentOS Stream 8, 9, 10
  • SUSE Linux Enterprise / openSUSE
  • Amazon Linux 2023
  • Die meisten Container-Hosts und von den oben genannten abgeleiteten Managed-Kubernetes-Knotenimages

Schnellstart

root@kitploit:~
# Download the script
curl -fsSLO https://raw.githubusercontent.com/samanzamani/copy-fail-checker/main/check-copy-fail.sh

# Make it executable
chmod +x check-copy-fail.sh

# Run it
./check-copy-fail.sh

Oder klonen Sie das Repository:

root@kitploit:~
git clone https://github.com/samanzamani/copy-fail-checker.git
cd copy-fail-checker
./check-copy-fail.sh

Das Skript benötigt keine root-Rechte. Wenn Sie es als Ihr normaler Benutzer ausführen, erhalten Sie die realistischste Sicht auf die Angriffsfläche, denn das ist genau der Kontext, den ein Angreifer hätte.


Was das Skript prüft

Das Skript führt drei unabhängige Prüfungen durch und fasst sie zu einem einzigen Urteil zusammen.

1. Kernel-Version

Es liest /etc/os-release und uname -r und vergleicht dann Ihren laufenden Kernel mit der offiziellen gepatchten Version, die vom Sicherheitsteam Ihrer Distribution veröffentlicht wurde. Die Versionstabelle deckt derzeit ab:

Wenn Ihre Distribution nicht in der Tabelle enthalten ist, greift das Skript auf die folgenden Laufzeitprüfungen zurück.

2. Status des algif_aead-Moduls

Das Skript prüft vier Dinge, ohne etwas zu verändern:

  • Ob das Modul derzeit geladen ist (lsmod)
  • Ob das Modul zum Laden verfügbar ist (modinfo)
  • Ob das Modul in /etc/modprobe.d, /usr/lib/modprobe.d oder /run/modprobe.d auf der Blacklist steht
  • Ob das Modul in /boot/config-<uname> oder /proc/config.gz eingebaut (built-in) ist

Ein auf der Blacklist stehendes, nicht geladenes und nicht eingebautes Modul schließt die Angriffsfläche selbst bei einem ungepatchten Kernel.

3. Erreichbarkeit von AF_ALG-Sockets

Das zuverlässigste Signal ist das, was ein Angreifer tatsächlich sehen würde. Das Skript verwendet eine winzige Python-Sonde (socket.socket(AF_ALG, SOCK_SEQPACKET, 0) gefolgt von bind() auf die AEAD-Vorlage authencesn(hmac(sha256),cbc(aes))), um herauszufinden, ob AF_ALG-Sockets aus einem nicht-privilegierten Kontext heraus erstellt und gebunden werden können. Die Sonde erstellt den Socket, bindet ihn und schließt ihn sofort wieder, ohne etwas Ausnutzbares zu hinterlassen.

Wenn python3 nicht installiert ist, wird die Sonde übersprungen und das Urteil stützt sich auf die Prüfungen 1 und 2.


Mögliche Urteile


JSON-Ausgabe für die Automatisierung

Für Pipelines, Konfigurationsmanagement oder Flotten-Scans übergeben Sie --json:

root@kitploit:~
./check-copy-fail.sh --json

Beispielausgabe:

root@kitploit:~
{
  "verdict": "vulnerable",
  "distro_id": "ubuntu",
  "distro_version_id": "24.04",
  "kernel": "6.8.0-31-generic",
  "patched_version": "",
  "kernel_status": "unknown",
  "module_loaded": 0,
  "module_builtin": 0,
  "module_available": 1,
  "module_blacklisted": 0,
  "af_alg_status": "reachable"
}

Gegenmaßnahmen

Empfohlen: Hersteller-Kernel-Update installieren

Dies ist der einzige vollständige Fix. Starten Sie nach dem Update neu, damit der neue Kernel tatsächlich läuft.

root@kitploit:~
# Debian / Ubuntu
sudo apt update && sudo apt full-upgrade && sudo reboot

# RHEL / AlmaLinux / Rocky / CentOS Stream
sudo dnf clean metadata && sudo dnf upgrade && sudo reboot

# openSUSE / SLES
sudo zypper refresh && sudo zypper update && sudo reboot

# Amazon Linux 2023
sudo dnf upgrade --releasever=latest && sudo reboot

Vorübergehende Umgehung: algif_aead deaktivieren

Wenn Sie nicht sofort in einen gepatchten Kernel neu starten können, setzen Sie das verwundbare Modul auf die Blacklist. Dadurch werden alle Anwendungen beeinträchtigt, die legitimerweise AF_ALG-AEAD-Chiffren verwenden (auf den meisten Servern selten — prüfen Sie dies zuerst in einer Staging-Umgebung).

root@kitploit:~
# Persist the blacklist across reboots
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf

# Unload it from the running kernel right now
sudo rmmod algif_aead 2>/dev/null || true

Wenn das Modul eingebaut (built-in) ist, funktioniert die Blacklist nicht, aber es ist möglich, den Initcall zu deaktivieren. Ein Neustart ist erforderlich.

root@kitploit:~
sudo grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"

sudo reboot

Blockieren Sie bei containerisierten Workloads zusätzlich die AF_ALG-Socket-Familie in Ihrem seccomp-Profil, damit ein kompromittierter Container die Kernel-Oberfläche nicht erreichen kann.


Beispielausführung

root@kitploit:~
== System information ==
[INFO]    Distribution : Ubuntu 24.04.2 LTS (ubuntu 24.04)
[INFO]    Kernel       : 6.8.0-31-generic

== Check 1 / 3 — Kernel version ==
[WARN]    No vendor-fixed kernel version is recorded for ubuntu 24.04.
[WARN]    Falling back to runtime mitigation checks below.

== Check 2 / 3 — algif_aead kernel module ==
[WARN]    algif_aead is not loaded but can be autoloaded on demand (no blacklist found).

== Check 3 / 3 — AF_ALG socket reachability ==
[VULN]    AF_ALG sockets are reachable from this unprivileged context.

== Verdict ==
[VULN]    This system appears to be VULNERABLE to CVE-2026-31431.
[VULN]    Apply the vendor kernel update or blacklist algif_aead as a temporary mitigation.

Einschränkungen

  • Die Tabelle der gepatchten Versionen deckt nur die oben aufgeführten Familien ab. PRs zur Erweiterung sind willkommen.
  • Das Skript vertraut auf uname -r. Wenn Sie einen Out-of-Tree- oder neu gebauten Kernel verwenden, spiegelt der Versionsvergleich möglicherweise nicht wider, ob der Fix tatsächlich zurückportiert wurde.
  • Live-Container-/Sandbox-Umgebungen können blocked_permission für AF_ALG melden, einfach weil seccomp aktiv ist — der Host-Kernel selbst kann weiterhin verwundbar sein.

Referenzen

  • CERT-EU-Sicherheitshinweis 2026-005
  • Xint-Offenlegung: 732 Bytes bis zu Root auf jeder großen Linux-Distribution
  • AlmaLinux: Patches für CVE-2026-31431 veröffentlicht
  • Ubuntu: Fixes für die Copy-Fail-Schwachstelle verfügbar
  • Microsoft Security Blog: Copy Fail in Cloud-Umgebungen
  • Sophos: PoC-Exploit verfügbar
  • SUSE-Antwort auf copy.fail
  • Berichterstattung von The Hacker News
  • Bugcrowd: Was wir über Copy Fail wissen
  • Berichterstattung von The Register

Lizenz

MIT — frei verwenden, modifizieren und verteilen. Ohne Gewährleistung.

Tool herunterladen
DistributionGepatchter Kernel (≥)
AlmaLinux / RHEL / Rocky / CentOS 84.18.0-553.121.1.el8_10
AlmaLinux / RHEL / Rocky / CentOS 95.14.0-611.49.2.el9_7
AlmaLinux / RHEL / Rocky / CentOS 106.12.0-124.52.2.el10_1
Ubuntu 26.04+ („Resolute“)nicht betroffen
Ubuntu 18.04 – 25.10rollierend, siehe apt
Debian (alle Suites)rollierend, siehe DSA
UrteilExit-CodeBedeutung
patched0Der laufende Kernel entspricht der vom Hersteller korrigierten Version oder ist neuer.
mitigated0AF_ALG ist blockiert und das Modul ist nicht geladen.
likely_mitigated0Das Modul ist auf der Blacklist und nicht geladen; keine Live-Sonde war möglich.
vulnerable1Der Kernel ist ungepatcht und algif_aead / AF_ALG ist erreichbar.
unknown2Nicht genügend Hinweise für eine Entscheidung. Als potenziell verwundbar behandeln.
not_applicable3Läuft nicht unter Linux.