
Comprendre l'erreur de traversée de chemin dans le module Tarfile de Python
Récemment, une équipe de chercheurs en sécurité a annoncé la découverte d'un bogue vieux de quinze ans dans la fonctionnalité d'extraction de fichiers tar de Python. La vulnérabilité a été divulguée pour la première fois en 2007 et répertoriée sous le nom de CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais le bogue lui-même n'a pas été corrigé.
Cette vulnérabilité pourrait avoir un impact sur des milliers de projets logiciels, mais de nombreuses personnes ne sont pas familières avec la situation ou la façon de la gérer. C'est pourquoi, ici à Secure Code Warriornous vous donnons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin d'en voir l'impact et d'acquérir une expérience pratique des mécanismes de ce bogue persistant, de sorte que vous puissiez mieux protéger votre application !
Essayez la mission simulée maintenant.
La vulnérabilité : traversée de chemin lors de l'extraction d'un fichier tar
La traversée d'un chemin ou d'un répertoire se produit lorsque des données utilisateur non analysées sont utilisées pour construire un chemin de fichier, ce qui permet à un pirate d'accéder à des fichiers et de les écraser, voire d'exécuter un code arbitraire.
La vulnérabilité se trouve dans le module tarfile de Python. Un fichier tar (archive sur bande) est un fichier unique, appelé archive. Il regroupe plusieurs fichiers avec leurs métadonnées et est généralement reconnu par l'extension .tar.gz ou .tgz. Chaque membre de l'archive peut être représenté par un objet TarInfo, qui contient des métadonnées, telles que le nom du fichier, l'heure de modification, la propriété, etc.
Le risque provient de la capacité des archives à être extraites à nouveau.
Lors de l'extraction, chaque membre a besoin d'un chemin d'accès pour être écrit. Cet emplacement est créé en joignant le chemin de base au nom du fichier :

Une fois ce chemin créé, il est transmis à la commande tarfile.extract ou tarfile.extractall pour effectuer l'extraction :

Le problème réside dans l'absence de vérification du nom de fichier. Un attaquant pourrait renommer des fichiers pour y inclure des caractères de traversée de chemin, tels que le point, la barre oblique (../), ce qui amènerait le fichier à sortir du répertoire dans lequel il est censé se trouver et à écraser des fichiers arbitraires. Cela pourrait éventuellement conduire à l'exécution de code à distance, ce qui est propice à l'exploitation.
La vulnérabilité apparaît dans d'autres scénarios, si vous savez comment l'identifier. Outre la gestion des fichiers tar par Python, la vulnérabilité existe dans l'extraction des fichiers zip. Vous la connaissez peut-être sous un autre nom, comme la vulnérabilité zip slip, qui s'est manifestée dans d'autres langages que Python !
Comment pouvez-vous réduire les risques ?
Bien que la vulnérabilité soit connue depuis des années, les responsables de Python considèrent que la fonctionnalité d'extraction fait ce qu'elle est censée faire. Dans ce cas, certains diront qu'il s'agit d'une fonctionnalité et non d'un bogue. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip d'une source inconnue. C'est à eux qu'il incombe d'assainir les entrées non fiables pour éviter les vulnérabilités de traversée de chemin dans le cadre de pratiques de développement sécurisées.
Vous souhaitez en savoir plus sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?
Essayez gratuitement notre défi Python.
Si vous souhaitez obtenir d'autres directives de codage gratuites, consultez Secure Code Coach pour vous aider à rester au fait des pratiques de codage sécurisées.


Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonction d'extraction de date de Python. Cette faille de sécurité a été découverte pour la première fois en 2007 et enregistrée sous le numéro CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais la faille elle-même n'a pas été corrigée.

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationLaura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und konzentriert sich auf die Erforschung von Sicherheitslücken und die Erstellung von Inhalten für Missions und Coding Labs.


Récemment, une équipe de chercheurs en sécurité a annoncé la découverte d'un bogue vieux de quinze ans dans la fonctionnalité d'extraction de fichiers tar de Python. La vulnérabilité a été divulguée pour la première fois en 2007 et répertoriée sous le nom de CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais le bogue lui-même n'a pas été corrigé.
Cette vulnérabilité pourrait avoir un impact sur des milliers de projets logiciels, mais de nombreuses personnes ne sont pas familières avec la situation ou la façon de la gérer. C'est pourquoi, ici à Secure Code Warriornous vous donnons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin d'en voir l'impact et d'acquérir une expérience pratique des mécanismes de ce bogue persistant, de sorte que vous puissiez mieux protéger votre application !
Essayez la mission simulée maintenant.
La vulnérabilité : traversée de chemin lors de l'extraction d'un fichier tar
La traversée d'un chemin ou d'un répertoire se produit lorsque des données utilisateur non analysées sont utilisées pour construire un chemin de fichier, ce qui permet à un pirate d'accéder à des fichiers et de les écraser, voire d'exécuter un code arbitraire.
La vulnérabilité se trouve dans le module tarfile de Python. Un fichier tar (archive sur bande) est un fichier unique, appelé archive. Il regroupe plusieurs fichiers avec leurs métadonnées et est généralement reconnu par l'extension .tar.gz ou .tgz. Chaque membre de l'archive peut être représenté par un objet TarInfo, qui contient des métadonnées, telles que le nom du fichier, l'heure de modification, la propriété, etc.
Le risque provient de la capacité des archives à être extraites à nouveau.
Lors de l'extraction, chaque membre a besoin d'un chemin d'accès pour être écrit. Cet emplacement est créé en joignant le chemin de base au nom du fichier :

Une fois ce chemin créé, il est transmis à la commande tarfile.extract ou tarfile.extractall pour effectuer l'extraction :

Le problème réside dans l'absence de vérification du nom de fichier. Un attaquant pourrait renommer des fichiers pour y inclure des caractères de traversée de chemin, tels que le point, la barre oblique (../), ce qui amènerait le fichier à sortir du répertoire dans lequel il est censé se trouver et à écraser des fichiers arbitraires. Cela pourrait éventuellement conduire à l'exécution de code à distance, ce qui est propice à l'exploitation.
La vulnérabilité apparaît dans d'autres scénarios, si vous savez comment l'identifier. Outre la gestion des fichiers tar par Python, la vulnérabilité existe dans l'extraction des fichiers zip. Vous la connaissez peut-être sous un autre nom, comme la vulnérabilité zip slip, qui s'est manifestée dans d'autres langages que Python !
Comment pouvez-vous réduire les risques ?
Bien que la vulnérabilité soit connue depuis des années, les responsables de Python considèrent que la fonctionnalité d'extraction fait ce qu'elle est censée faire. Dans ce cas, certains diront qu'il s'agit d'une fonctionnalité et non d'un bogue. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip d'une source inconnue. C'est à eux qu'il incombe d'assainir les entrées non fiables pour éviter les vulnérabilités de traversée de chemin dans le cadre de pratiques de développement sécurisées.
Vous souhaitez en savoir plus sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?
Essayez gratuitement notre défi Python.
Si vous souhaitez obtenir d'autres directives de codage gratuites, consultez Secure Code Coach pour vous aider à rester au fait des pratiques de codage sécurisées.

Récemment, une équipe de chercheurs en sécurité a annoncé la découverte d'un bogue vieux de quinze ans dans la fonctionnalité d'extraction de fichiers tar de Python. La vulnérabilité a été divulguée pour la première fois en 2007 et répertoriée sous le nom de CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais le bogue lui-même n'a pas été corrigé.
Cette vulnérabilité pourrait avoir un impact sur des milliers de projets logiciels, mais de nombreuses personnes ne sont pas familières avec la situation ou la façon de la gérer. C'est pourquoi, ici à Secure Code Warriornous vous donnons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin d'en voir l'impact et d'acquérir une expérience pratique des mécanismes de ce bogue persistant, de sorte que vous puissiez mieux protéger votre application !
Essayez la mission simulée maintenant.
La vulnérabilité : traversée de chemin lors de l'extraction d'un fichier tar
La traversée d'un chemin ou d'un répertoire se produit lorsque des données utilisateur non analysées sont utilisées pour construire un chemin de fichier, ce qui permet à un pirate d'accéder à des fichiers et de les écraser, voire d'exécuter un code arbitraire.
La vulnérabilité se trouve dans le module tarfile de Python. Un fichier tar (archive sur bande) est un fichier unique, appelé archive. Il regroupe plusieurs fichiers avec leurs métadonnées et est généralement reconnu par l'extension .tar.gz ou .tgz. Chaque membre de l'archive peut être représenté par un objet TarInfo, qui contient des métadonnées, telles que le nom du fichier, l'heure de modification, la propriété, etc.
Le risque provient de la capacité des archives à être extraites à nouveau.
Lors de l'extraction, chaque membre a besoin d'un chemin d'accès pour être écrit. Cet emplacement est créé en joignant le chemin de base au nom du fichier :

Une fois ce chemin créé, il est transmis à la commande tarfile.extract ou tarfile.extractall pour effectuer l'extraction :

Le problème réside dans l'absence de vérification du nom de fichier. Un attaquant pourrait renommer des fichiers pour y inclure des caractères de traversée de chemin, tels que le point, la barre oblique (../), ce qui amènerait le fichier à sortir du répertoire dans lequel il est censé se trouver et à écraser des fichiers arbitraires. Cela pourrait éventuellement conduire à l'exécution de code à distance, ce qui est propice à l'exploitation.
La vulnérabilité apparaît dans d'autres scénarios, si vous savez comment l'identifier. Outre la gestion des fichiers tar par Python, la vulnérabilité existe dans l'extraction des fichiers zip. Vous la connaissez peut-être sous un autre nom, comme la vulnérabilité zip slip, qui s'est manifestée dans d'autres langages que Python !
Comment pouvez-vous réduire les risques ?
Bien que la vulnérabilité soit connue depuis des années, les responsables de Python considèrent que la fonctionnalité d'extraction fait ce qu'elle est censée faire. Dans ce cas, certains diront qu'il s'agit d'une fonctionnalité et non d'un bogue. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip d'une source inconnue. C'est à eux qu'il incombe d'assainir les entrées non fiables pour éviter les vulnérabilités de traversée de chemin dans le cadre de pratiques de développement sécurisées.
Vous souhaitez en savoir plus sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?
Essayez gratuitement notre défi Python.
Si vous souhaitez obtenir d'autres directives de codage gratuites, consultez Secure Code Coach pour vous aider à rester au fait des pratiques de codage sécurisées.

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.
Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Consulter le rapportRéserver une démonstrationLaura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und konzentriert sich auf die Erforschung von Sicherheitslücken und die Erstellung von Inhalten für Missions und Coding Labs.
Récemment, une équipe de chercheurs en sécurité a annoncé la découverte d'un bogue vieux de quinze ans dans la fonctionnalité d'extraction de fichiers tar de Python. La vulnérabilité a été divulguée pour la première fois en 2007 et répertoriée sous le nom de CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais le bogue lui-même n'a pas été corrigé.
Cette vulnérabilité pourrait avoir un impact sur des milliers de projets logiciels, mais de nombreuses personnes ne sont pas familières avec la situation ou la façon de la gérer. C'est pourquoi, ici à Secure Code Warriornous vous donnons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin d'en voir l'impact et d'acquérir une expérience pratique des mécanismes de ce bogue persistant, de sorte que vous puissiez mieux protéger votre application !
Essayez la mission simulée maintenant.
La vulnérabilité : traversée de chemin lors de l'extraction d'un fichier tar
La traversée d'un chemin ou d'un répertoire se produit lorsque des données utilisateur non analysées sont utilisées pour construire un chemin de fichier, ce qui permet à un pirate d'accéder à des fichiers et de les écraser, voire d'exécuter un code arbitraire.
La vulnérabilité se trouve dans le module tarfile de Python. Un fichier tar (archive sur bande) est un fichier unique, appelé archive. Il regroupe plusieurs fichiers avec leurs métadonnées et est généralement reconnu par l'extension .tar.gz ou .tgz. Chaque membre de l'archive peut être représenté par un objet TarInfo, qui contient des métadonnées, telles que le nom du fichier, l'heure de modification, la propriété, etc.
Le risque provient de la capacité des archives à être extraites à nouveau.
Lors de l'extraction, chaque membre a besoin d'un chemin d'accès pour être écrit. Cet emplacement est créé en joignant le chemin de base au nom du fichier :

Une fois ce chemin créé, il est transmis à la commande tarfile.extract ou tarfile.extractall pour effectuer l'extraction :

Le problème réside dans l'absence de vérification du nom de fichier. Un attaquant pourrait renommer des fichiers pour y inclure des caractères de traversée de chemin, tels que le point, la barre oblique (../), ce qui amènerait le fichier à sortir du répertoire dans lequel il est censé se trouver et à écraser des fichiers arbitraires. Cela pourrait éventuellement conduire à l'exécution de code à distance, ce qui est propice à l'exploitation.
La vulnérabilité apparaît dans d'autres scénarios, si vous savez comment l'identifier. Outre la gestion des fichiers tar par Python, la vulnérabilité existe dans l'extraction des fichiers zip. Vous la connaissez peut-être sous un autre nom, comme la vulnérabilité zip slip, qui s'est manifestée dans d'autres langages que Python !
Comment pouvez-vous réduire les risques ?
Bien que la vulnérabilité soit connue depuis des années, les responsables de Python considèrent que la fonctionnalité d'extraction fait ce qu'elle est censée faire. Dans ce cas, certains diront qu'il s'agit d'une fonctionnalité et non d'un bogue. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip d'une source inconnue. C'est à eux qu'il incombe d'assainir les entrées non fiables pour éviter les vulnérabilités de traversée de chemin dans le cadre de pratiques de développement sécurisées.
Vous souhaitez en savoir plus sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?
Essayez gratuitement notre défi Python.
Si vous souhaitez obtenir d'autres directives de codage gratuites, consultez Secure Code Coach pour vous aider à rester au fait des pratiques de codage sécurisées.
Table des matières

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationTéléchargerRessources pour débuter
Trust Agent:AI - Secure and scale AI-Drive development
AI is writing code. Who’s governing it? With up to 50% of AI-generated code containing security weaknesses, managing AI risk is critical. Discover how SCW's Trust Agent: AI provides the real-time visibility, proactive governance, and targeted upskilling needed to scale AI-driven development securely.
La puissance de la sécurité des applications OpenText + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
Thèmes et contenus de la formation Securecode
Nos contenus de pointe sont constamment développés afin de s'adapter à l'évolution constante du paysage du développement logiciel, en tenant compte de votre rôle. Les thèmes abordés couvrent tous les domaines, de l'IA à l'injection XQuery, et sont proposés pour une multitude de rôles, des architectes et ingénieurs aux chefs de produit et responsables assurance qualité. Nous vous invitons à découvrir un aperçu de notre catalogue de contenus classés par thème et par rôle.
Ressources pour débuter
Cybermon est de retour : les missions KI « Beat the Boss » sont désormais disponibles sur demande.
Cybermon 2025 Beat the Boss est désormais disponible toute l'année dans SCW. Il utilise des exigences de sécurité IA/LLM avancées pour renforcer le développement sécurisé de l'IA à grande échelle.
Explication de la loi sur la cyber-résilience : implications pour le développement de logiciels sécurisés dès la conception
Découvrez les exigences de la loi européenne sur la cyber-résilience (CRA), à qui elle s'applique et comment les équipes de développement peuvent s'y préparer en adoptant des méthodes sécurisées, en prévenant les failles de sécurité et en renforçant les compétences des développeurs.
Facteur 1 : Critères de réussite définis et mesurables
Le catalyseur n° 1 inaugure notre série en dix parties intitulée « Les catalyseurs de la réussite » et démontre comment un codage sécurisé peut être associé à des résultats commerciaux tels que la réduction des risques et la rapidité afin d'atteindre une maturité programmatique à long terme.




