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 — Exploit für CVE-2026-31431, einen Linux-Kernel-authencesn-Fehler, der lokale Privilegienerweiterung und Container-Escape über einen 4-Byte-Page-Cache-Write ermöglicht. | Kitploit
Tools/GitHubGitHub/luotian2/cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationLernen & BildungContainer-AusbruchBinary-Exploitation
GitHubluotian2/cve-2026-31431

CVE-2026-31431

Exploit für CVE-2026-31431, einen Linux-Kernel-authencesn-Fehler, der lokale Privilegienerweiterung und Container-Escape über einen 4-Byte-Page-Cache-Write ermöglicht.

Repository anzeigen
22vor 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 authencesn-Kryptografievorlage des Linux-Kernels. Er ermöglicht 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 Rechteausweitung / 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-Sequenznummern, schreibt 4 vom Angreifer kontrollierte Bytes und stellt sie nie wieder her.

Die beschädigte Seite wird nie 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 sofort systemweit sichtbar wird.

Exploit

Der Exploit korrumpiert 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 die Ausführung von su den Payload aus und öffnet eine Root-Shell.

Python (exp.py)


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

C (exp.c)


Keine Python-Abhängigkeit. Kompilieren und ausführen:
root@kitploit:~
gcc -o exp exp.c
./exp

Auswirkungen

FähigkeitDetails

Referenzen

  • copy.fail — Offizielle Sicherheitsmeldung
  • Xint Blog — Copy Fail: 732 Bytes to Root
  • NVD-Eintrag

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 mehr — keine distrospezifischen Offsets erforderlich
WinzigPython-Exploit ist ~732 Bytes groß
UnauffälligUmgeht den VFS-Schreibpfad; Seite wird nie als dirty markiert; Prüfsummen auf der Festplatte bleiben unverändert
Container-übergreifendPage Cache wird über Container hinweg geteilt — Container-Escape-Vektor (siehe Teil 2)