Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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.

FeedContattoPrivacy© 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
1941211 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

# 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

├── 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

Header -> Content (size from octal field) -> Next Header

Elaborazione TAR Esteso PAX (Corretto)

PAX Header (size=1024) -> File Header (octal size=0) -> Content (1024 bytes) -> Next Header

Elaborazione TAR Esteso PAX (Errato)

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

normal.txt -> blob.bin -> marker.txt

Librerie errate (tokio-tar):

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:

// 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