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
Tarmageddon-CVE-2025-62518- — PoC pour CVE-2025-62518 démontrant la contrebande d'archives tar via l'analyse des en-têtes PAX de tokio-tar, créant des charges utiles malveillantes et un extracteur vulnérable pour montrer l'injection dans la chaîne d'approvisionnement. | Kitploit
Outils/GitHubGitHub/airineiandrei/tarmageddon-cve-2025-62518-
Analyse des VulnérabilitésExploitationAnalyse de MalwareSécurité de la Chaîne LogistiqueArticles et RechercheApprentissage et Éducation
GitHubairineiandrei/tarmageddon-cve-2025-62518-

Tarmageddon-CVE-2025-62518-

PoC pour CVE-2025-62518 démontrant la contrebande d'archives tar via l'analyse des en-têtes PAX de tokio-tar, créant des charges utiles malveillantes et un extracteur vulnérable pour montrer l'injection dans la chaîne d'approvisionnement.

Voir le dépôt
3il y a 7 moisPas encore vérifié

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

Tarmageddon CVE-2025-62518

Vidéo : https://youtu.be/EYBB4BHsp9E

Répertoires du dépôt

  • vulnerable-extract exemple minimal reproductible, prend un chemin en argument et extrait ce fichier dans ./output
  • malicious-payload crée une archive malicious.tar simple avec un exemple de contenu dissimulé, les commentaires expliquent étape par étape et bloc par bloc ce qui est fait

Reproduction

Utilisez le script de reproduction fourni ou faites-le manuellement

Exécutez malicious-payload pour générer la charge utile

malicious.tar

En passant ce fichier à notre application vulnerable-extract, on obtient :

root@kitploit:~
/vulnerable-extract$ ll output/
total 12
drwxrwxr-x 2 airinei airinei 4096 Jan 19 22:40 ./
drwxrwxr-x 5 airinei airinei 4096 Jan 19 22:40 ../
-rw-rw-r-- 1 airinei airinei    0 Jan  1  1970 benign_file.txt
-rw-rw-r-- 1 airinei airinei   18 Jan  1  1970 sh_profile_hijack

Alors que l'utilitaire tar fourni par notre OS ((GNU tar) 1.35 dans ce cas) donne :

root@kitploit:~
malicious-payload$ tar -tvf malicious.tar
---------- 0/0            1024 1970-01-01 02:00 benign_file.txt

Notez qu'il voit la taille du fichier comme étant 1024

Alternativement, utiliser astral-tokio-tar 0.5.6 au lieu de l'abandonné tokio-tar 0.3.1 extrait correctement l'archive.

Analyse

CVE-2025-62518 (TARmageddon) est une vulnérabilité de sécurité découverte dans la bibliothèque Rust tokio-tar (vulnérabilité Rust 😮). Il s'agit d'une erreur logique dans la manière dont les en-têtes du format tar sont analysés, permettant à un attaquant de dissimuler des fichiers.

Le défaut réside dans la logique de gestion des en-têtes étendus PAX. Dans une archive TAR, il existe différents types d'en-têtes :

  • USTAR : L'en-tête standard contenant le nom du fichier, les permissions et la taille.
  • PAX (Type x) : Un en-tête d'extension utilisé pour fournir des métadonnées (comme une très grande taille de fichier) pour le fichier suivant dans l'archive.

Lorsqu'un en-tête PAX est présent, un analyseur doit résoudre la taille réelle du fichier en priorisant les métadonnées PAX par rapport à l'en-tête standard USTAR.

Mais POURQUOI y a-t-il 2 types d'en-têtes qui ont des priorités pour ce qui semble être la même chose ? Parce que le format TAR est ancien (normalisé en 1988), et USTAR a ses limites (taille jusqu'à 8 Go, nom de fichier jusqu'à 256 caractères). C'est un problème, donc l'en-tête PAX a été ajouté en 2001 pour permettre des fichiers plus grands et des noms de fichiers plus longs.

Dans les versions vulnérables de tokio-tar, l'analyseur adopte correctement la taille de l'en-tête PAX pour le lecteur de contenu du fichier, mais il utilise incorrectement la taille de l'en-tête USTAR pour déterminer où commence l'en-tête du fichier suivant.

Le cœur du problème est un décalage de pointeur. Lorsque la bibliothèque vulnérable traite un fichier, elle utilise deux « têtes » internes différentes pour lire le flux :

  1. La tête de contenu : Responsable de la lecture des octets réels du fichier et de leur écriture sur le disque.
  2. La tête d'analyse : Responsable du saut des données du fichier pour trouver l'en-tête du fichier suivant.

Dans une archive normale, ces deux têtes sont d'accord. Dans TARmageddon, nous les forçons à être en désaccord. En définissant la taille PAX à 1024 et la taille USTAR à 0, nous créons un paradoxe :

  • La tête de contenu lit 1024 octets et les place dans benign_file.txt.
  • La tête d'analyse voit le 0 dans l'en-tête USTAR et pense : « Je suis déjà à la fin du fichier. » Elle reste exactement là où elle est.

Par conséquent, la tête d'analyse traite les données à l'intérieur du bloc de 1024 octets comme le prochain ensemble d'instructions. Si ces données ressemblent à un en-tête TAR valide, la bibliothèque va « découvrir » et extraire un second fichier qui n'existe techniquement pas selon la structure globale de l'archive.

La charge utile dissimulée :

La charge utile est conçue comme une séquence de blocs de 512 octets. Voici la disposition utilisée dans le générateur malicious-payload :

BlocRôleDescription
1 & 2Métadonnées PAXAffirme que le fichier suivant a une longueur de 1024 octets.
3En-tête de basebenign.txt. Crucialement, définit la taille à 0.
4En-tête dissimulébackdoor.sh. Caché dans la zone « données ».
5Données dissimuléesLe contenu malveillant (p. ex., alias shell).
6 & 7Fin de fichier (EOF)Terminaison standard par blocs nuls.

Parce que les outils standards (comme GNU tar) suivent correctement la taille PAX, ils voient les blocs 4 et 5 comme des données binaires inoffensives appartenant à benign_file.txt. Ils n'« exécutent » jamais l'en-tête du bloc 4.

En quoi s'agit-il d'une vulnérabilité, et d'un CVSS 8.1 ?

Comment cette caisse (crate) ayant une vulnérabilité peut-elle être exploitée ? Pourquoi le fait qu'un fichier soit dissimulé dans une archive est-il important ?

Injection dans la chaîne d'approvisionnement :

Un attaquant dissimule des fichiers malveillants dans un système de build. L'extraction de ceux-ci, que ce soit pour le développement ou sur une machine CI, peut écraser des fichiers de build légitimes, compromettre cette machine et même tromper le système de build pour qu'il signe des fichiers malveillants.

Contournement de sécurité (WAF/AV) :

Un scanner inspecte un fichier .tar, ne le scannant que dans le mode correct ; des fichiers indésirables peuvent être présents lors de l'extraction mais n'ont pas été scannés.

Inspiré par cette analyse

Télécharger l’outil