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
Tools/GitHubGitHub/abdullaabdullazade/cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitation
GitHubabdullaabdullazade/cve-2026-31431

CVE-2026-31431

Exploit für CVE-2026-31431, eine Linux-Kernel-Authencesn-Schwachstelle, die eine lokale Privilegieneskalation zu Root über Page-Cache-Manipulation ermöglicht.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
13vor 4 MonatenNoch nicht geprüft

Copy Fail (CVE-2026-31431) – Umfassender Bericht

1. Überblick über die Schwachstelle

  • Name der Schwachstelle: Copy Fail
  • CVE-Kennung: CVE-2026-31431
  • Entdeckt von / Autoren: Xint Code Research Team (aufbauend auf der grundlegenden Forschung des Theori-Forschers Taeyang Lee).

„Copy Fail“ ist eine kritische Logikschwachstelle im kryptografischen Template authencesn des Linux-Kernels. Sie ermöglicht es einem nicht privilegierten lokalen Benutzer, einen deterministischen, kontrollierten 4-Byte-Schreibvorgang in den Page Cache einer beliebigen lesbaren Datei auf dem System auszulösen. Durch das gezielte Angreifen von setuid-Binaries (wie /usr/bin/su) kann ein Angreifer den In-Memory-Ausführungscache manipulieren, um Privilegien auf Root (UID 0) zu erweitern.

Im Gegensatz zu älteren Schwachstellen wie „Dirty Cow“ oder „Dirty Pipe“ ist Copy Fail ein geradliniger Logikfehler, der ohne Race Conditions, Wiederholungsversuche oder absturzanfällige Timing-Fenster ausgelöst wird. Er ist hochgradig portabel und heimlich, da er nur den In-Memory-Page-Cache verändert, während die Datei auf der Festplatte vollständig unverändert bleibt, wodurch standardmäßige Dateiintegritätsüberwachungstools umgangen werden.

2. Root-Cause-Analyse

Die Schwachstelle existiert an der Schnittstelle von drei verschiedenen Kernel-Komponenten:

  1. AF_ALG & In-Place-AEAD: AF_ALG ist ein Socket-Typ, der das kryptografische Subsystem des Kernels für den Userspace zugänglich macht. Im Jahr 2017 wurde eine Optimierung hinzugefügt, um AEAD-Operationen in-place durchzuführen, was bedeutet, dass dieselbe Scatterlist sowohl als Eingabe als auch als Ausgabe für den Krypto-Algorithmus dient.
  2. Der splice()-Systemaufruf: Der splice()-Syscall überträgt Daten zwischen Dateideskriptoren und Pipes ohne Kopieren, indem Page-Cache-Seiten per Referenz übergeben werden. Wenn ein Benutzer eine Datei (wie /usr/bin/su) in einen AF_ALG-Socket spliced, enthält die Eingabe-Scatterlist des Sockets direkte Referenzen auf die gecachten Seiten dieser Datei im Kernel.
  3. authencesn-Scratch-Schreibvorgang: Der authencesn-Algorithmus (verwendet für IPsec Extended Sequence Numbers) erfordert das Neuordnen von Bytes. Dazu schreibt er vorübergehend 4 Bytes Sequenznummern als „Scratch-Space“ in den Ausgabepuffer. Er schreibt jedoch über die legitime Ausgabegrenze hinaus.

Aufgrund der In-Place-Optimierung von 2017 enthält die Ausgabe-Scatterlist die schreibgeschützten Page-Cache-Seiten, die durch splice() übergeben wurden. Wenn authencesn über die Ausgabegrenze hinaus schreibt, überschreibt es direkt 4 Bytes im gecachten Kernel-Speicher der Zieldatei.

3. Exploit-Mechanismus

Ein Angreifer kann dies durch die folgenden Schritte ausnutzen:

  1. Socket-Einrichtung: Öffnen eines nicht privilegierten AF_ALG-Sockets und Binden an authencesn(hmac(sha256),cbc(aes)).
  2. Konstruktion des Schreibvorgangs: Senden eines manipulierten sendmsg() mit einer Associated Authenticated Data (AAD)-Nutzlast, die die 4 Bytes enthält, die geschrieben werden sollen.
  3. Splice des Ziels: Verwenden von splice(), um die Zieldatei (/usr/bin/su) in den Socket zu pipen. Der Offset und die Länge definieren genau wo im Page Cache die 4 Bytes geschrieben werden.
  4. Entschlüsselung auslösen: Der Aufruf von recv() löst die Entschlüsselungsoperation aus und führt den Out-of-Bounds-Scratch-Schreibvorgang direkt in den Page Cache der Zieldatei aus.
  5. Ausführen: Ausführen der Ziel-Binary (z. B. execve("/usr/bin/su")). Der Kernel führt die manipulierte Page-Cache-Version aus, die den injizierten bösartigen Shellcode enthält, und gewährt so Root-Zugriff.

4. Abschwächung und Behebung

Temporärer Workaround

Wenn ein Patchen oder Neustarten des Kernels nicht sofort möglich ist, können Sie diese Schwachstelle abschwächen, indem Sie alle zugehörigen af_alg-Module auf die Blacklist setzen und aus dem Speicher entladen.

Um diese Module zu blockieren, führen Sie die folgenden Befehle aus:

root@kitploit:~
# 1. Entladen Sie die Module aus dem Speicher, falls sie derzeit geladen sind
sudo modprobe -r algif_hash algif_skcipher algif_aead algif_rng af_alg

# 2. Fügen Sie die Module zur Blacklist hinzu
echo -e "blacklist af_alg\nblacklist algif_hash\nblacklist algif_skcipher\nblacklist algif_aead\nblacklist algif_rng" | sudo tee /etc/modprobe.d/stop-exploit.conf

# 3. Verhindern Sie, dass das af_alg-Modul vollständig geladen wird
echo "install af_alg /bin/true" | sudo tee -a /etc/modprobe.d/stop-exploit.conf

# 4. Starten Sie das System neu, um sicherzustellen, dass die Änderungen vollständig wirksam werden
sudo reboot

Permanente Lösung

Das Linux-Kernel-Sicherheitsteam hat diese Schwachstelle gepatcht (Commit: a664bf3d603d). Der Patch stellt die AF_ALG-AEAD-Operationen auf ein Out-of-Place-Modell zurück und trennt die Quell- und Ziel-Scatterlists. Dadurch wird verhindert, dass die Page-Cache-Seiten der schreibbaren Ziel-Scatterlist ausgesetzt werden.

Erforderliche Maßnahme: Aktualisieren Sie den Kernel Ihrer Distribution auf die neueste Version Ihres Anbieters (Ubuntu, Amazon Linux, RHEL, SUSE usw.) und starten Sie Ihr System neu.

Tool herunterladen