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-2025-4138_tarfile_filter_bypass — CVE-2025-4138 - Python Beliebiges Dateischreiben außerhalb des Extraktionsverzeichnisses | Kitploit
Tools/GitHubGitHub/thefizzyfish/cve-2025-4138_tarfile_filter_bypass
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstests
GitHubthefizzyfish/cve-2025-4138_tarfile_filter_bypass

CVE-2025-4138_tarfile_filter_bypass

CVE-2025-4138 - Python Beliebiges Dateischreiben außerhalb des Extraktionsverzeichnisses

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
310vor 6 MonatenNoch nicht geprüft
Teilen

CVE-2025-4138 — Python tarfile filter="data" Umgehung

Beliebiger Dateischreibvorgang außerhalb des Extraktionsverzeichnisses über eine PATH_MAX-Symlink-Kette.

Betroffene Versionen

  • Python 3.12.0 – 3.12.10
  • Python 3.13.0 – 3.13.3
  • Behoben in 3.12.11 / 3.13.4

Credit:

Reporter: Caleb Brown (Google)

Funktionsweise

Der tarfile-Datenfilter von Python validiert Symlink-Ziele mit os.path.realpath(). Wenn der aufgelöste Pfad PATH_MAX (4096 Bytes unter Linux) überschreitet, stoppt realpath() stillschweigend die Auflösung und hängt die verbleibenden Komponenten – einschließlich ../ – als wörtliche Zeichenketten an. Der Filter sieht einen sicheren Pfad; der Kernel folgt der tatsächlichen Traversierung.

Der Exploit erstellt ein Tar mit vier Stufen:

  1. Symlink-Kette — 16 Ebenen langer Verzeichnisse (je 247 Zeichen) mit kurzen Symlink-Aliasen (a→ddd..., b→ddd...). Bläht den aufgelösten Pfad auf ~3968 Bytes auf.
  2. Pivot-Symlink — ../ × 16 am Ende der Kette. realpath() läuft über und kann es nicht auflösen. Der Kernel geht zurück zum Extraktionsstamm.
  3. Escape-Symlink — Leitet durch den Pivot hinauf zu / und hinunter zum Zielverzeichnis.
  4. Payload-Datei — Wird durch den Escape-Symlink zum Zielpfad als Root geschrieben.

Verwendung

Um authorized_keys für den Root-Benutzer hinzuzufügen/zu ersetzen

SSH-Schlüssel in /tmp erstellen

root@kitploit:~
ssh-keygen -t ed25519 -f /tmp/key -N ""

Erstelle evil.tar-Datei

root@kitploit:~
python3 CVE-2025-4138_tarfile_filter_bypass.py \
    -o evil.tar \
    -t /root/.ssh/authorized_keys \
    -p /tmp/key.pub \
    -m 0600
FlagBeschreibung
-oAusgabe-Tar-Pfad
-tAbsoluter Pfad der Datei, die auf dem Ziel geschrieben werden soll
-pLokale Datei, die als Payload-Inhalt verwendet werden soll
-mOktale Dateiberechtigungen (Standard: 0644)

Referenzen

  • NVD — CVE-2025-4138
  • GHSA-hgqp-3mmf-7h8f

Nur für autorisierte Sicherheitstests und CTF-Nutzung.

Tool herunterladen