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/edera-dev/cve-tarmageddon
SchwachstellenanalyseExploitationFuzzingBinäranalyseLieferkettensicherheitLernen & Bildung
GitHubedera-dev/cve-tarmageddon

cve-tarmageddon

Demonstration von CVE-2025-62518: ein kritischer PAX extended header size override Bug in den Bibliotheken tokio-tar und async Rust tar, mit Reproduktionswerkzeugen und Blast Radius Analysis.

Repository anzeigen
1943vor 10 MonatenNoch nicht geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Ivy Astronaut

CVE-2025-62518: TARmageddon

Dieses Repository demonstriert einen kritischen Fehler in tokio-tar und verwandten asynchronen Rust-Tar-Bibliotheken, bei dem PAX-Erweiterungskopfzeilen-size-Überschreibungen nicht angewendet werden, bevor die nächste Header-Position berechnet wird.

Fehlerzusammenfassung

Grundursache: Bei der Verarbeitung von Tar-Dateien mit PAX-Erweiterungskopfzeilen, die die Dateigröße überschreiben, verwendet die Bibliothek das oktale Größenfeld (oft null) anstelle der PAX-Überschreibung für Positionsberechnungen.

Auswirkungen: Dies führt dazu, dass der Parser in Dateiinhalte springt und diese für Tar-Header hält, was zur Extraktion falscher Dateien führt.

Bekannte betroffene Bibliotheken:

  • 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
  • Schnellstart

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

    Dies wird:

    1. Alle C++- und Rust-Tools erstellen
    2. Eine Reproduktions-Tar-Datei generieren
    3. Vergleiche ausführen, die den Fehler zeigen
    4. Detaillierte Berichte in build/output/ generieren

    Projektstruktur

    root@kitploit:~
    ├── disclosure/               # Dokumentationsbaum zur Sicherheitsoffenlegung
    │   └── blast_radius/         # Aufzeichnung von Projekten, die von tokio-tar-Varianten abhängen
    ├── repro_generator/          # C++-Tool zum Generieren einer Reproduktions-Tar-Datei
    ├── tar-bug-detector/         # Rust-Tool zum Vergleichen von Tar-Bibliotheken  
    ├── tarwalk/                  # Korrekter C++-Tar-Parser
    │   ├── tarwalk.cpp           # Behandelt PAX korrekt
    │   └── tarwalk_bad.cpp       # Reproduziert denselben Fehler
    ├── CMakeLists.txt            # Build-System
    ├── generate_report.cmake     # Berichtsgenerierung
    └── README.md                 # Diese Datei
    

    Der Fehler im Detail

    Normale TAR-Verarbeitung

    root@kitploit:~
    Header -> Inhalt (Größe aus oktalem Feld) -> Nächster Header
    

    PAX-Erweiterte TAR-Verarbeitung (Korrekt)

    root@kitploit:~
    PAX-Header (Größe=1024) -> Datei-Header (oktale Größe=0) -> Inhalt (1024 Bytes) -> Nächster Header
    

    PAX-Erweiterte TAR-Verarbeitung (Fehlerhaft)

    root@kitploit:~
    PAX-Header (Größe=1024) -> Datei-Header (oktale Größe=0) -> Inhalt (0 Bytes) -> FALSCHE POSITION
                                                                                  ↓
                                                                        Inhalt als Header lesen!
    

    Realwelt-Auslöser

    Docker save erstellt Tar-Dateien mit:

    • Großen Schichten (>8 GB), die PAX-Erweiterungen erfordern
    • Schichtinhalten, die mit Dateisystem-Tar-Headern beginnen (etc/, usr/)
    • Wenn der Fehler ausgelöst wird, extrahieren Parser Dateisysteminhalte anstelle von Image-Manifesten

    Generierte Reproduktionsdateien

    • pax_bug_compact.tar - Minimaler Reproduktionsfall

    Erwartete Ergebnisse

    Korrekte Bibliotheken (GNU tar, synchrone tar-Crate):

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

    Fehlerhafte Bibliotheken (tokio-tar):

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

    Das Auftreten von INNER_FILE deutet auf den Fehler hin – die Bibliothek sprang in den Inhalt von blob.bin und hielt einen gefälschten Tar-Header für einen echten Eintrag.

    Technische Details

    Die Korrektur erfordert die Anwendung von PAX-Überschreibungen vor den Positionsberechnungen:

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

    Lizenz

    Dieser Reproduktionscode wird für Sicherheitsforschung und verantwortungsvolle Offenlegung bereitgestellt.

    Siehe COPYING für die Lizenz des ursprünglichen Quellcodes.

    Tool herunterladen