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-tarmageddon — Dimostrazione di CVE-2025-62518: un bug critico di override della dimensione dell'header esteso PAX in tokio-tar e nelle librerie Rust async tar, con strumenti di riproduzione e analisi del blast radius. | Kitploit
Strumenti/GitHubGitHub/edera-dev/cve-tarmageddon
Analisi delle VulnerabilitàExploitFuzzingAnalisi di BinariSicurezza della Supply ChainApprendimento e Formazione
GitHubedera-dev/cve-tarmageddon

cve-tarmageddon

Dimostrazione di CVE-2025-62518: un bug critico di override della dimensione dell'header esteso PAX in tokio-tar e nelle librerie Rust async tar, con strumenti di riproduzione e analisi del blast radius.

Vedi Repository
194310 mesi faNon ancora revisionato
Sito web

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

Ivy Astronaut

CVE-2025-62518: TARmageddon

Questo repository dimostra un bug critico in tokio-tar e nelle librerie Rust async correlate per tar, dove gli override della dimensione (size) dell'header esteso PAX non vengono applicati prima di calcolare la posizione dell'header successivo.

Riepilogo del Bug

Causa principale: Quando si elaborano file tar con header estesi PAX che sovrascrivono la dimensione del file, la libreria utilizza il campo della dimensione ottale (spesso zero) invece dell'override PAX per i calcoli di posizione.

Impatto: Ciò causa al parser di saltare nel contenuto del file e scambiarlo per header tar, portando all'estrazione di file errati.

Librerie Note Affette:

  • async-tar https://github.com/dignifiedquire/async-tar
  • tokio-tar https://github.com/vorot93/tokio-tar
  • krata-tokio-tar
https://github.com/edera-dev/tokio-tar
  • astral-tokio-tar https://github.com/astral-sh/tokio-tar
  • Quick Start

    root@kitploit:~
    # Requirements: CMake, Rust/Cargo, C++ compiler, system tar command
    
    cmake -S . -B build
    cmake --build build --target generate_report
    

    Questo farà:

    1. Costruire tutti gli strumenti C++ e Rust
    2. Generare un file tar per la riproduzione del caso
    3. Eseguire confronti che mostrano il bug
    4. Generare report dettagliati in build/output/

    Project Structure

    root@kitploit:~
    ├── disclosure/               # Security disclosure documentation tree
    │   └── blast_radius/         # Record of projects depending on tokio-tar variants
    ├── repro_generator/          # C++ tool to generate a repro case tar file
    ├── tar-bug-detector/         # Rust tool comparing tar libraries  
    ├── tarwalk/                  # Correct C++ tar parser
    │   ├── tarwalk.cpp           # Handles PAX correctly
    │   └── tarwalk_bad.cpp       # Reproduces the same bug
    ├── CMakeLists.txt            # Build system
    ├── generate_report.cmake     # Report generation
    └── README.md                 # This file
    

    Il Bug in Dettaglio

    Elaborazione TAR Normale

    root@kitploit:~
    Header -> Content (size from octal field) -> Next Header
    

    Elaborazione TAR Esteso PAX (Corretto)

    root@kitploit:~
    PAX Header (size=1024) -> File Header (octal size=0) -> Content (1024 bytes) -> Next Header
    

    Elaborazione TAR Esteso PAX (Errato)

    root@kitploit:~
    PAX Header (size=1024) -> File Header (octal size=0) -> Content (0 bytes) -> WRONG POSITION
                                                                                  ↓
                                                                        Reading content as headers!
    

    Trigger nel Mondo Reale

    Docker save crea file tar con:

    • Layer grandi (>8GB) che richiedono estensioni PAX
    • Contenuto del layer che inizia con header tar del filesystem (etc/, usr/)
    • Quando il bug si attiva, i parser estraggono il contenuto del filesystem invece dei manifest delle immagini

    File Generati per la Riproduzione

    • pax_bug_compact.tar - Caso di riproduzione minimale

    Risultati Attesi

    Librerie corrette (GNU tar, crate tar sincrona):

    root@kitploit:~
    normal.txt -> blob.bin -> marker.txt
    

    Librerie errate (tokio-tar):

    root@kitploit:~
    normal.txt -> blob.bin -> INNER_FILE -> marker.txt
    

    L'apparizione di INNER_FILE indica il bug - la libreria è saltata nel contenuto di blob.bin e ha scambiato un falso header tar per una voce reale.

    Dettagli Tecnici

    La correzione richiede l'applicazione degli override PAX prima dei calcoli di posizione:

    root@kitploit:~
    // Read header
    let mut file_size = header.size();
    
    // Apply PAX overrides BEFORE calculating next position
    if let Some(pax_size) = pending_pax.get("size") {
        file_size = pax_size.parse().unwrap();
    }
    
    // Now calculate next header position using effective size
    let next_pos = current_pos + 512 + pad_to_512(file_size);
    

    Licenza

    Questo codice di riproduzione è fornito per scopi di ricerca sulla sicurezza e divulgazione responsabile.

    Vedere COPYING per la licenza del codice sorgente originale.

    Scarica lo strumento