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 — Golang-Neufassung des Exploits für die lokale Rechteausweitung Copy Fail (CVE-2026-31431), der den Page Cache beschädigt, um Root-Rechte auf Linux-Systemen zu erlangen. | Kitploit
Tools/GitHubGitHub/gr-1m/cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationContainer-AusbruchBinary-Exploitation
GitHubgr-1m/cve-2026-31431

CVE-2026-31431

Golang-Neufassung des Exploits für die lokale Rechteausweitung Copy Fail (CVE-2026-31431), der den Page Cache beschädigt, um Root-Rechte auf Linux-Systemen zu erlangen.

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

CVE-2026-31431 — Copy Fail

中文版

732 Bytes bis Root auf jeder großen Linux-Distribution

CVE-2026-31431 (Copy Fail) ist ein Logikfehler in der kryptografischen Vorlage authencesn des Linux-Kernels. Er 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.

Übersicht

  • CVE-ID: CVE-2026-31431
  • Typ: Lokale Privilegienerweiterung / Container-Escape
  • Betroffen: Linux-Kernel mit CONFIG_CRYPTO_AUTHENC (praktisch alle großen Distributionen seit 2017)
  • Entdeckt von: Xint Code Research Team, mit ersten Erkenntnissen von Theori-Forscher Taeyang Lee

Funktionsweise

Der Fehler verknüpft zwei Verhaltensweisen:

  1. AF_ALG + splice: splice() überträgt Page-Cache-Seiten per Referenz in die Scatterlist eines AF_ALG-Sockets. Im In-Place-Modus der AEAD-Entschlüsselung bleiben die Tag-Seiten (aus dem Page Cache der Zieldatei) über sg_chain() mit der Ausgabe-Scatterlist verkettet.

  2. authencesn Scratch-Schreibvorgang: crypto_authenc_esn_decrypt() verwendet dst[assoclen + cryptlen] (hinter dem Tag, in den Page-Cache-Seiten) als Scratch-Bereich für die Neuordnung der ESN-Sequenznummer, schreibt 4 vom Angreifer kontrollierte Bytes und stellt sie nie wieder her.

Die beschädigte Seite wird niemals als dirty markiert, sodass die Datei auf der Festplatte unverändert bleibt. Aber der In-Memory-Page-Cache ist das, was tatsächlich gelesen wird — wodurch die Korruption systemweit sofort sichtbar wird.

Exploit

Der Exploit beschädigt den Page Cache von /usr/bin/su (oder einer beliebigen setuid-Binärdatei) mit einem kleinen Shellcode-Payload, jeweils 4 Bytes auf einmal. Nach allen Iterationen führt su den Payload aus und öffnet eine Root-Shell.

Python (exp.py)


Erfordert Python 3.10+ (für `os.splice`). Verwendet nur Module der Standardbibliothek.
root@kitploit:~
python3 exp.py

Golang (exp.go)


Keine Python-Abhängigkeit. Kompilieren und ausführen:
root@kitploit:~
go run exp.go
go build -ldflags "-w -s" -trimpath -o exp exp.go

tinygo build -o exp exp.go

Auswirkungen

FähigkeitDetails

Referenzen

  • copy.fail — Offizielles Advisory
  • Xint Blog — Copy Fail: 732 Bytes to Root
  • NVD-Eintrag
  • Rewrite in C

Haftungsausschluss

Dieses Repository wird ausschließlich zu Bildungs- und Verteidigungsforschungszwecken veröffentlicht. Verwenden Sie diesen Code nicht auf Systemen, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Testberechtigung haben.

Tool herunterladen
Portabel
Dasselbe Skript funktioniert auf Ubuntu, Amazon Linux, RHEL, SUSE und weiteren — keine distrospezifischen Offsets
WinzigPython-Exploit ist ~732 Bytes
UnauffälligUmgeht den VFS-Schreibpfad; Seite wird nie als dirty markiert; Prüfsummen auf der Festplatte bleiben unverändert
Container-übergreifendDer Page Cache wird zwischen Containern geteilt — Container-Escape-Vektor (siehe Teil 2)