Des chercheurs de la société Edera ont découvert une vulnérabilité importante dans le langage Rust et plus exactement la bibliothèque async-tar Rust et ses dérivés dont le très utilisé tokio-tar. Baptisée TARmageddon (CVE-2025-62518), elle affiche un score de gravité de 8,1 et « peut conduire à l'exécution de code à distance via des attaques par écrasement de fichiers, telles que le remplacement de fichiers de configuration ou le détournement de backends de compilation », ont alerté les experts dans un rapport. La propagation de l'infection via des applications, également connue sous le nom d'attaque de type supply chain, fait partie des autres impacts possibles.
Selon les chercheurs, la première mesure recommandée consiste à corriger tous les forks actifs, car cette vulnérabilité affecte des projets majeurs et largement utilisés, notamment les projets uv (le gestionnaire de paquets Python d'Astral), testcontainers et wasmCloud. « En raison de la très large utilisation de tokio-tar sous diverses formes, il n'est pas possible de quantifier à l'avance l'ampleur réelle de ce bug dans l'écosystème », ont-ils affirmé. Pour aggraver les choses, les chercheurs avertissent que le fichier tokio-tar, très téléchargé, n’a toujours pas été corrigé, probablement parce qu'il n'est plus maintenu activement. Edera suggère aux développeurs qui s’en servent d'envisager de migrer vers une version activement maintenue, comme astral-tokio-tar version 0.5.6 ou ultérieure, qui a été corrigée. Les responsables IT doivent également analyser leurs applications pour voir si certaines ont été développées en Rust et si elles présentent un risque.
Pourquoi il faut s’en inquiéter
« Les fichiers TAR sont utilisés dans les systèmes Unix et Linux pour regrouper plusieurs répertoires et fichiers dans une archive qui conserve la structure complète du répertoire et les métadonnées des informations d'origine », a expliqué Robert Beggs, directeur de l’entreprise canadienne de réponse aux incidents DigitalDefence. Les archives servent couramment dans les sauvegardes ou pour compresser des logiciels, en particulier pour la distribution de code source. « La manière dont certaines versions des bibliothèques TAR ont été écrites expose à une vulnérabilité potentielle », a-t-il déclaré par courriel, en précisant que « dans le pire des cas, cela permettrait à un pirate d'exécuter un code arbitraire sur un système hôte et de se livrer à des actions malveillantes, par exemple, l'écrasement de fichiers critiques (fichiers de configuration, scripts de compilation) ou l'obtention d'un accès non autorisé au système de fichiers. » L'exploitation pourrait également compromettre tout système qui extrait des fichiers du TAR malveillant. « Cette faille est particulièrement grave car les bibliothèques TAR vulnérables sont souvent présentes dans des applications qui ne font pas l'objet d'une maintenance active et peuvent être oubliées lors de l'application de correctifs ou d'autres mesures visant à atténuer le problème », a-t-il ajouté. Même s’il n’y a pour l'instant aucune exploitation connue de cette vulnérabilité, M. Beggs pense que cela pouvait changer rapidement. « Cette vulnérabilité étant de gravité élevée - 8,1 sur une échelle de 1 à 10 – elle est susceptible d'attirer l'attention des pirates. »
Recommandations
Le spécialiste formule plusieurs recommandation aux responsables en cybersécurité. En premier lieu, il est nécessaire d’auditer le code afin d'identifier les dépendances pour les forks ou les wrappers de tokio-tar et de s'assurer qu'ils sont également corrigés. Par ailleurs, il convient d’examiner l'utilisation des fichiers TAR dans les environnements d'intégration continue/déploiement continu CI/CD ainsi que dans les conteneurs, et de s'assurer qu'ils sont corrigés. De même, il est judicieux d’isoler (sandbox) les archives lors du traitement et d'éviter d'extraire des fichiers TAR provenant de sources non fiables. Une surveillance continue des éventuels exploits ou d’autres vulnérabilités associés à la bibliothèque est conseillée.
Les administrateurs pourraient également être intéressés par cet avis expliquant le problème publié par Astral Security, qui gère astral-tokio-tar. Le bogue a été découvert en juillet et divulgué le même mois aux responsables de toutes les bibliothèques, à la Rust Foundation et à un certain nombre de projets. Il a été convenu que les détails ne seraient pas divulgués avant cette semaine. Étant donné que le fork le plus populaire, tokio-tar, qui cumule plus de 5 millions de téléchargements sur crates.io, ne semble plus faire l'objet d'une maintenance active, Edera a coordonné une divulgation décentralisée à travers la lignée complexe des forks.
Conséquences possibles
Selon Edera, cette vulnérabilité est un défaut de désynchronisation qui permet à un cybercriminel « d'introduire clandestinement » des entrées d'archive supplémentaires dans les extractions TAR. Elle se produit lors du traitement de fichiers TAR imbriqués qui présentent une incompatibilité spécifique entre leurs en-têtes étendus PAX et leurs en-têtes ustar. La faille provient de la logique incohérente du parseur lors de la détermination des limites des données des fichiers.
Parmi les scénarios d'infection possibles décrits par Edera, on peut citer :
- une attaque contre les gestionnaires de paquets Python utilisant tokio-tar. Un pirate télécharge un paquet malveillant sur le référentiel open source PyPI, à partir duquel les développeurs téléchargent des utilitaires. Le conteneur TAR externe du paquet contient un fichier légitime, mais le TAR interne caché contient un fichier malveillant qui détourne le backend de compilation. Ce TAR interne caché introduit des fichiers inattendus ou écrasés, ce qui compromet l'environnement de test et pollue la chaîne d'approvisionnement ;
- une attaque contre tout système comportant des phases distinctes de « scan/approbation ». Un scanner de sécurité analyse le TAR externe, qui est propre, et approuve son ensemble de fichiers limité. Cependant, le processus d'extraction utilisant la bibliothèque vulnérable extrait des fichiers supplémentaires, non approuvés et non analysés du fichier TAR interne, ce qui entraîne un contournement des contrôles de sécurité et une violation de la politique.
Les développeurs Rust affirment que ce langage crée des applications en mémoire sécurisées, mais selon les chercheurs d'Edera, « la découverte de TARmageddon nous rappelle de manière importante que Rust n'est pas une solution miracle ». Le rapport souligne que « le langage ne supprime pas les erreurs logiques, et cette incohérence d'analyse est fondamentalement un défaut logique. Les développeurs doivent rester vigilants face à toutes les catégories de vulnérabilités, quel que soit le langage utilisé. » Le rapport rappelle également les dangers liés à l'utilisation de bibliothèques open source non maintenues dans le code.