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

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
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. | Kitploit
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
19412vor 11 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

# 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

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

Header -> Inhalt (Größe aus oktalem Feld) -> Nächster Header

PAX-Erweiterte TAR-Verarbeitung (Korrekt)

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

PAX-Erweiterte TAR-Verarbeitung (Fehlerhaft)

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

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

Fehlerhafte Bibliotheken (tokio-tar):

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:

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