Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 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
1943il y a 10 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

    root@kitploit:~
    # 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

    root@kitploit:~
    ├── 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

    root@kitploit:~
    En-tête -> Contenu (taille du champ octal) -> En-tête suivant
    

    Traitement TAR étendu PAX (correct)

    root@kitploit:~
    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é)

    root@kitploit:~
    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) :

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

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

    root@kitploit:~
    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 :

    root@kitploit:~
    // 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