Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cve-tarmageddon — Démonstration de CVE-2025-62518 : un bogue critique de remplacement de taille d'en-tête étendu PAX dans les bibliothèques tar tokio-tar et async Rust, avec des outils de reproduction et une analyse du rayon d'impact. | Kitploit
Outils/GitHubGitHub/edera-dev/cve-tarmageddon
Analyse des VulnérabilitésExploitationFuzzingAnalyse de BinairesSécurité de la Chaîne LogistiqueApprentissage et Éducation
GitHubedera-dev/cve-tarmageddon

cve-tarmageddon

Démonstration de CVE-2025-62518 : un bogue critique de remplacement de taille d'en-tête étendu PAX dans les bibliothèques tar tokio-tar et async Rust, avec des outils de reproduction et une analyse du rayon d'impact.

Voir le dépôt
19412il y a 11 moisPas encore vérifié
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Ivy Astronaut

CVE-2025-62518 : TARmageddon

Ce dépôt démontre un bogue critique dans tokio-tar et les bibliothèques Rust asynchrones tar associées, où les surcharges de taille des en-têtes étendus PAX ne sont pas appliquées avant de calculer la position de l'en-tête suivant.

Résumé du bogue

Cause racine : lors du traitement de fichiers tar avec des en-têtes étendus PAX qui surchargent la taille du fichier, la bibliothèque utilise le champ de taille octal (souvent zéro) au lieu de la surcharge PAX pour les calculs de position.

Impact : cela amène l'analyseur à sauter dans le contenu du fichier et à le confondre avec des en-têtes tar, ce qui entraîne l'extraction de fichiers erronés.

Bibliothèques affectées connues :

  • 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

Démarrage rapide

# Prérequis : CMake, Rust/Cargo, compilateur C++, commande système tar

cmake -S . -B build
cmake --build build --target generate_report

Cela va :

  1. Compiler tous les outils C++ et Rust
  2. Générer un fichier tar de cas de reproduction
  3. Exécuter des comparaisons montrant le bogue
  4. Générer des rapports détaillés dans build/output/

Structure du projet

├── disclosure/               # Arborescence des documents de divulgation de sécurité
│   └── blast_radius/         # Enregistrement des projets dépendant des variantes de tokio-tar
├── repro_generator/          # Outil C++ pour générer un fichier tar de cas de reproduction
├── tar-bug-detector/         # Outil Rust comparant les bibliothèques tar
├── tarwalk/                  # Analyseur C++ correct
│   ├── tarwalk.cpp           # Gère PAX correctement
│   └── tarwalk_bad.cpp       # Reproduit le même bogue
├── CMakeLists.txt            # Système de construction
├── generate_report.cmake     # Génération de rapport
└── README.md                 # Ce fichier

Le bogue en détail

Traitement TAR normal

En-tête -> Contenu (taille du champ octal) -> En-tête suivant

Traitement TAR étendu PAX (correct)

En-tête PAX (taille=1024) -> En-tête de fichier (taille octale=0) -> Contenu (1024 octets) -> En-tête suivant

Traitement TAR étendu PAX (buggé)

En-tête PAX (taille=1024) -> En-tête de fichier (taille octale=0) -> Contenu (0 octets) -> MAUVAISE POSITION
                                                                              ↓
                                                                    Lecture du contenu comme des en-têtes !

Déclencheur dans le monde réel

docker save crée des fichiers tar avec :

  • Grandes couches (>8 Go) nécessitant des extensions PAX
  • Le contenu des couches commençant par des en-têtes tar du système de fichiers (etc/, usr/)
  • Lorsque le bogue se déclenche, les analyseurs extraient le contenu du système de fichiers au lieu des manifestes d'image

Fichiers de reproduction générés

  • pax_bug_compact.tar - Cas de reproduction minimal

Résultats attendus

Bibliothèques correctes (GNU tar, crate tar synchrone) :

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

Bibliothèques buggées (tokio-tar) :

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

L'apparition de INNER_FILE indique le bogue - la bibliothèque a sauté dans le contenu de blob.bin et a confondu un faux en-tête tar avec une entrée réelle.

Détails techniques

La correction nécessite d'appliquer les surcharges PAX avant les calculs de position :

// Lire l'en-tête
let mut file_size = header.size();

// Appliquer les surcharges PAX AVANT de calculer la position suivante
if let Some(pax_size) = pending_pax.get("size") {
    file_size = pax_size.parse().unwrap();
}

// Calculer maintenant la position du prochain en-tête en utilisant la taille effective
let next_pos = current_pos + 512 + pad_to_512(file_size);

Licence

Ce code de reproduction est fourni à des fins de recherche en sécurité et de divulgation responsable.

Voir COPYING pour la licence du code source original.

Télécharger l’outil