Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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-2026-29780 — Dimostra una vulnerabilità di path traversal in uno script di esempio ufficiale di eml-parser, consentendo la scrittura arbitraria di file tramite nomi di allegati appositamente modificati, con PoC e fix. | Kitploit
Strumenti/GitHubGitHub/redyank/cve-2026-29780
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceExploitSicurezza Web
GitHubredyank/cve-2026-29780

CVE-2026-29780

Dimostra una vulnerabilità di path traversal in uno script di esempio ufficiale di eml-parser, consentendo la scrittura arbitraria di file tramite nomi di allegati appositamente modificati, con PoC e fix.

Vedi Repository
165 mesi faNon ancora revisionato

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

Path Traversal nello Script di Esempio Ufficiale che Porta a Scrittura Arbitraria di File

Riepilogo

Lo script di esempio ufficiale examples/recursively_extract_attachments.py contiene una vulnerabilità di path traversal che consente la scrittura arbitraria di file al di fuori della directory di output prevista. I nomi dei file allegati estratti dalle email analizzate vengono utilizzati direttamente per costruire i percorsi dei file di output senza alcuna sanificazione, consentendo a un nome file controllato dall'attaccante di fuoriuscire dalla directory di destinazione.

Dettagli

File: examples/recursively_extract_attachments.py Righe: 61–64

root@kitploit:~
for a in m['attachment']:
    out_filepath = out_path / a['filename']  # No sanitization
    print(f'\tWriting attachment: {out_filepath}')
    with out_filepath.open('wb') as a_out:
        a_out.write(base64.b64decode(a['raw']))

Il valore a['filename'] è controllato dall'attaccante tramite intestazioni di allegati email appositamente create:

root@kitploit:~
Content-Disposition: attachment; filename="../outside/pwned.txt"

Non viene eseguita alcuna normalizzazione del percorso o validazione dei confini prima della scrittura.

PoC

  1. Creare un file .eml dannoso:
root@kitploit:~
Content-Disposition: attachment; filename="../outside/pwned.txt"
  1. Eseguire lo script di esempio:
root@kitploit:~
python recursively_extract_attachments.py -p ./emails -o ./safe
  1. Atteso: ./safe/pwned.txt
  2. Effettivo: ./outside/pwned.txt ← scritto al di fuori della directory prevista

Verificato su Kali Linux con eml-parser installato tramite pip in un ambiente virtuale.

Impatto

Questa vulnerabilità è limitata solo allo script di esempio e non interessa la libreria principale eml-parser. Tuttavia, poiché lo script fa parte del repository ufficiale ed è probabile che venga adattato per l'uso in produzione, un attaccante che fornisce un'email appositamente creata potrebbe ottenere la scrittura arbitraria di file nel contesto di esecuzione.

Gli scenari di attacco potenziali includono:

  • Iniezione di cron job: filename="../../etc/cron.d/backdoor"
  • Upload di web shell: filename="../../var/www/html/shell.php"
  • Iniezione di chiavi SSH: filename="../../home/user/.ssh/authorized_keys"

Correzione Consigliata

root@kitploit:~
import os.path

for a in m['attachment']:
    filename = os.path.basename(a['filename'])
    out_filepath = out_path / filename

    if not out_filepath.resolve().is_relative_to(out_path.resolve()):
        print(f'[!] Skipping suspicious filename: {a["filename"]}')
        continue

    print(f'\tWriting attachment: {out_filepath}')
    with out_filepath.open('wb') as a_out:
        a_out.write(base64.b64decode(a['raw']))
Scarica lo strumento