Grave vulnérabilité trouvée dans la bibliothèque Rust

Lucas Morel

Un trou dans la bibliothèque TAR et ses forks pourrait conduire à l’exécution de code à distance.

Les développeurs créant des projets dans le langage de programmation Rust, ainsi que les responsables informatiques ayant des applications basées sur Rust dans leurs environnements, doivent prêter attention à une grave vulnérabilité découverte dans l’une des bibliothèques du langage de programmation.

Les chercheurs d’Edera affirment avoir découvert un bug critique d’analyse des limites, baptisé TARmageddon (CVE-2025-62518), dans la populaire bibliothèque Rust. Et ce n’est pas seulement dans cette bibliothèque, mais aussi dans ses nombreux forks, y compris le largement utilisé .

« Dans le pire des cas, cette vulnérabilité a une gravité de 8,1 (élevée) et peut conduire à l’exécution de code à distance (RCE) via des attaques par écrasement de fichiers, telles que le remplacement de fichiers de configuration ou le détournement des backends de build », indiquent les chercheurs dans un rapport. Parmi les autres impacts possibles figure la propagation de l’infection via les applications, également connue sous le nom d’attaque de la chaîne d’approvisionnement.

La première action recommandée consiste à corriger tous les forks actifs, car cette vulnérabilité affecte des projets majeurs et largement utilisés, disent les chercheurs, notamment (le gestionnaire de paquets Python d’Astral), , et . « En raison de la nature répandue de ce bug sous diverses formes, il n’est pas possible de quantifier véritablement à l’avance le rayon d’explosion de ce bug à travers l’écosystème », disent-ils.

Pour aggraver les choses, préviennent les chercheurs, le fichier hautement téléchargé n’est toujours pas corrigé, probablement parce qu’il n’est plus activement maintenu.

Edera suggère aux développeurs qui comptent sur d’envisager de migrer vers un fork activement maintenu tel que la version 0.5.6 ou ultérieure, qui a été corrigée.

Les responsables informatiques doivent également analyser leurs applications pour voir si certaines ont été développées dans Rust et présentent un risque.

Pourquoi est-ce critique ?

Les fichiers TAR sont utilisés dans les systèmes Unix et Linux pour regrouper plusieurs répertoires et fichiers dans un fichier d’archive qui conserve la structure complète des répertoires et les métadonnées des informations d’origine, explique Robert Beggs, responsable de la société canadienne de réponse aux incidents DigitalDefence. Les fichiers d’archives sont couramment utilisés dans les sauvegardes ou pour compresser des logiciels à des fins telles que la distribution du code source.

« La vulnérabilité est particulièrement grave car les bibliothèques TAR vulnérables sont souvent présentes dans des applications qui ne sont pas activement maintenues et peuvent être ignorées lors de l’application de correctifs ou de l’atténuation du problème », a-t-il ajouté.

Bien qu’il n’existe pas encore d’exploitation connue de cette vulnérabilité, Beggs a déclaré que cela pourrait changer rapidement. « Il s’agit d’une vulnérabilité de haute gravité – 8,1 sur une échelle de 1 à 10 – », a-t-il souligné, « elle attirera donc probablement l’attention des attaquants ».

Recommandations

Il recommande aux dirigeants de la sécurité de l’information :

  • code d’audit pour identifier les dépendances des forks ou des wrappers et garantir qu’ils sont également corrigés
  • examiner l’utilisation des fichiers TAR dans les environnements d’intégration et de déploiement continus ainsi que dans les conteneurs, et s’assurer qu’ils sont corrigés ;
  • isoler (bac à sable) les archives lors du traitement et éviter d’extraire des fichiers TAR à partir de sources non fiables ;
  • continuez à surveiller d’éventuels exploits ou d’autres vulnérabilités associées à la bibliothèque.

Les administrateurs peuvent également être intéressés par cet avis expliquant le problème créé par Astral Security, qui maintient .

Le bug a été découvert en juillet et divulgué ce mois-là aux responsables de toutes les bibliothèques, à la Fondation Rust et à un certain nombre de projets. Il a été convenu que les détails ne seraient publiés que cette semaine.

Étant donné que le fork le plus populaire (avec plus de 5 millions de téléchargements sur crates.io) ne semble plus être activement maintenu, Edera a coordonné une divulgation décentralisée à travers la lignée complexe des fork.

Conséquences possibles

La vulnérabilité est une faille de désynchronisation qui permet à un attaquant de « faire passer clandestinement » des entrées d’archives supplémentaires dans les extractions TAR, explique Edera. Cela 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 de l’analyseur lors de la détermination des limites des données des fichiers.

Parmi les scénarios d’infection possibles décrits par Edera figurent

  • une attaque contre les gestionnaires de packages Python utilisant . Un attaquant télécharge un package malveillant dans le référentiel open source PyPI, à partir duquel les développeurs téléchargent des utilitaires utiles. Le conteneur TAR externe du package contient un fichier légitime, mais le TAR interne caché contient un fichier malveillant qui détourne le backend de construction. 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 n’importe quel système avec des phases distinctes de « scan/approbation ». Un scanner de sécurité analyse le TAR externe 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 TAR interne, ce qui entraîne un contournement du contrôle de sécurité et une violation de la politique.

Les développeurs de Rust affirment que le langage permet la création d’applications sécurisées en mémoire, mais, selon les chercheurs d’Edera, « la découverte de TARmageddon est un rappel important que Rust n’est pas une solution miracle ».

« Cela n’élimine pas les bogues logiques », souligne le rapport, « et cette incohérence d’analyse est fondamentalement un défaut logique. Les développeurs doivent rester vigilants contre toutes les classes de vulnérabilités, quel que soit le langage utilisé. »

Le rapport rappelle également les dangers de s’appuyer sur des bibliothèques open source non maintenues dans le code.