Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-31431 — Arbeitsfähiger Proof-of-Concept-Exploit für CVE-2026-31431, eine lokale Privilegieneskalation im Linux-Kernel über AF_ALG-AEAD-Page-Cache-Korruption, die eine Root-Shell gewährt. | Kitploit
Tools/GitHubGitHub/wesmar/cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationBinary-Exploitation
GitHubwesmar/cve-2026-31431

CVE-2026-31431

Arbeitsfähiger Proof-of-Concept-Exploit für CVE-2026-31431, eine lokale Privilegieneskalation im Linux-Kernel über AF_ALG-AEAD-Page-Cache-Korruption, die eine Root-Shell gewährt.

Repository anzeigen
618vor 5 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 — Lokale Rechteausweitung über AF_ALG

NVD / NIST PoC Download

2026-04-29 — Ich veröffentliche diesen Exploit einen Tag, nachdem ich ihn im MyDigitalLife-Forum geteilt habe. Er benötigt kein Python; er ist in C geschrieben und mit folgendem Befehl auf die kleinstmögliche Größe kompiliert:

musl-gcc -static -Os -o exploit exploit.c -s

Kritische Bedrohung. Die Exploit-Binärdatei ist ohne Abhängigkeiten kompiliert und kann zum Testen auf Schwachstellen auf jedem Linux-System verwendet werden.

CVE-2026-31431 ist eine von NIST bestätigte Schwachstelle im Linux-Kernel, die es einem nicht privilegierten lokalen Benutzer ermöglicht, innerhalb von Sekunden eine root-Shell zu erhalten. Angesichts des öffentlich kursierenden Exploits für CVE-2026-31431 habe ich einen binären Proof-of-Concept (PoC) entwickelt, um die Gefährdung unserer internen Infrastruktur zu bewerten. Während einige Umgebungen die Verwendung von su einschränken, ist diese Schwachstelle für gemeinsam genutzte Server besonders kritisch, da sie die zugrunde liegende Kernel-Speicherverwaltung angreift. Folglich kann jede SETUID-Binärdatei — einschließlich sudo, passwd, mount oder newgrp — genutzt werden, um den Exploit auszulösen und eine root-Shell zu gewähren. Sofortiges administratives Handeln zum Patchen des Kernels ist erforderlich, da Standard-Benutzerraum-Einschränkungen nicht ausreichen, um diese Bedrohung zu entschärfen. Jedes Linux-System mit einem ungepatchten Kernel ist gefährdet.

Mein eigener funktionierender Exploit · Linux-Kernel · AF_ALG-Kryptografieschnittstelle (AEAD)

Ersetzt /usr/bin/su im Kernel-Page-Cache, ohne die Datei auf der Festplatte zu verändern

Lokaler Shell-Zugriff ist ausreichend — keine zusätzlichen Privilegien erforderlich

Betrifft ungepatchte Linux-Distributionen

CVE-2026-31431


📚 Inhaltsverzeichnis

  • Was ist diese Schwachstelle
  • Wer ist betroffen
  • Wie der Exploit funktioniert — Schritt für Schritt
  • Angriffsablauf
  • Exploit-Code-Analyse
  • ELF-Payload — technische Details
  • So prüfen Sie, ob Sie verwundbar sind
  • Gegenmaßnahmen
  • Hinweise für Forscher
  • Haftungsausschluss

Was ist diese Schwachstelle

CVE-2026-31431 ist ein Fehler in der Verarbeitung von Scatter-Gather-I/O-Operationen und Page-Cache-Referenzen im kryptografischen Subsystem des Linux-Kernels — insbesondere in der AF_ALG-Socket-Implementierung für AEAD-Algorithmen (crypto/af_alg.c, crypto/aead.c).

EigenschaftWert
KennungCVE-2026-31431
ReferenzNIST NVD
TypLokale Rechteausweitung (LPE)
KomponenteLinux-Kernel — AF_ALG / AEAD (authencesn)
Erforderlicher ZugriffNicht privilegierter lokaler Benutzer
AuswirkungInteraktive root-Shell
Exploit-StatusFunktionierender PoC öffentlich auf GitHub verfügbar
PersistenzKeine — die Änderung existiert nur im RAM; ein Neustart stellt den ursprünglichen Zustand wieder her

Was tatsächlich passiert

Der Linux-Kernel stellt Benutzerprozessen über AF_ALG-Sockets eine kryptografische Schnittstelle bereit. Die Schwachstelle liegt darin, dass der Kernel während einer AEAD-Entschlüsselungsoperation die Entschlüsselungsausgabe fälschlicherweise direkt auf die Page-Cache-Seiten der Quelldatei abbildet — anstatt auf einen temporären Puffer. Ein Angreifer kann dadurch den Inhalt einer beliebigen Datei im Speicher überschreiben, ohne sie auf der Festplatte zu verändern, ohne root-Rechte und ohne sichtbare Spuren im Dateisystem zu hinterlassen.


Wer ist betroffen

SystemStatus
Ubuntu 24.04 (bare Metal / VM)⚠️ Verwundbar bei ungepatchtem Kernel
Debian, Fedora, Arch bei ungepatchtem Kernel⚠️ Verwundbar
Distributionen mit CONFIG_SECURITY_LOCKDOWN_LSM✅ Wahrscheinlich geschützt
Systeme mit nosuid oder ProtectSUID (systemd)✅ Geschützt
Systeme mit AppArmor/SELinux, die AF_ALG blockieren✅ Geschützt
macOS, Windows (nativ)✅ Nicht betroffen

Wie der Exploit funktioniert — Schritt für Schritt

Der Exploit besteht aus zwei Komponenten: einem Hilfsskript unter /tmp/x und einer Korruptionsschleife basierend auf AF_ALG. Im Folgenden finden Sie eine exakte Schritt-für-Schritt-Beschreibung basierend auf der Quellcode-Analyse:

1. Einrichtung des Hilfsskripts

Der Exploit erstellt /tmp/x mit folgendem Inhalt:

#!/bin/sh
export TERM=xterm-256color
exec /bin/sh

Er setzt die Berechtigungen auf 0755. Der Grund: /usr/bin/su entfernt Umgebungsvariablen (einschließlich TERM) beim Start. Das Hilfsskript stellt sie wieder her, bevor es die echte Shell startet, und gewährleistet so ein funktionsfähiges Terminal.

2. Konstruktion des ELF-Payloads

Eine minimale 158-Byte-x86_64-ELF-Binärdatei mit rohem Shellcode wird im Speicher erstellt. Die Zeichenkette /bin/sh an Offset 150 wird dann über memcmp/memcpy zu /tmp/x\0 gepatcht. Details finden Sie unter ELF-Payload.

3. Öffnen von /usr/bin/su im Nur-Lese-Modus

int su_fd = open("/usr/bin/su", O_RDONLY);

Die Datei wird nur lesend geöffnet — der Exploit benötigt keinerlei Schreibrechte.

4. Korruptionsschleife — 39 Iterationen à 4 Bytes

Der Payload (158 Bytes) wird in 4-Byte-Blöcken verarbeitet (39 vollständige Blöcke). Jeder Block wird durch corrupt_binary_chunk() geleitet, das Folgendes ausführt:

  • Erstellt einen AF_ALG-Socket (SOCK_SEQPACKET)
  • Bindet an authencesn(hmac(sha256),cbc(aes)) — einen zusammengesetzten AEAD-Algorithmus
  • Setzt einen 72-Byte-Schlüssel und eine Authentifizierungs-Tag-Größe von 4 Bytes
  • Akzeptiert einen Operations-Socket (op_sock)
  • Sendet sendmsg mit einem 8-Byte-Puffer (4× 'A' + 4 Payload-Bytes) und drei CMSGs: ALG_OP_DECRYPT, IV (20 Bytes), assoclen=8
  • Führt splice aus: su_fd → pipe → op_sock (Zero-Copy durch den Kernel)
  • Schließt über recv() ab — hier überschreibt der Kernel fälschlicherweise den Page-Cache

5. Ausführung

execve("/usr/bin/su", args, NULL);

Der Kernel lädt /usr/bin/su über den Page-Cache — der nun vergiftet ist. Das SUID-Bit (chmod u+s) ist intakt, sodass der Kernel die Datei als root ausführt. Der Shellcode führt setuid(0) → execve("/tmp/x") → interaktive root-Shell aus.


Angriffsablauf

Tool herunterladen