
Comprendre le bogue de traversée de chemin dans le module tarfile de Python
Récemment, une équipe de chercheurs en sécurité ont 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é révélée pour la première fois en 2007 et suivie comme 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 connaissent pas la situation ni la manière de la gérer. C'est pourquoi, ici à Secure Code Warrior, nous vous donnons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité pour en constater l'impact de première main et acquérir une expérience pratique des mécanismes de ce bogue persistant, afin de mieux protéger votre application !
Essayez la simulation Mission maintenant.
La vulnérabilité : traversée de chemins lors de l'extraction du fichier tar
La traversée de chemin ou de répertoire se produit lorsqu'une entrée utilisateur non nettoyée est utilisée pour créer un chemin de fichier, ce qui permet à un attaquant d'accéder à des fichiers et de les remplacer, et même d'exécuter du code arbitraire.
La vulnérabilité existe dans Python fichier goudron module. 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 le fait que .tar.gz ou .tgz extension. Chaque membre de l'archive peut être représenté par un Informations sur les étoiles objet, 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 dans lequel écrire. Cet emplacement est créé en joignant le chemin de base au nom du fichier :

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

Le problème ici est l'absence de nettoyage du nom de fichier. Un attaquant pourrait renommer les fichiers pour inclure des caractères de traversée de chemin, tels que point barre oblique (../), ce qui ferait sortir le fichier du répertoire dans lequel il était censé se trouver et remplacerait des fichiers arbitraires. Cela pourrait éventuellement conduire à l'exécution de code à distance, ce qui est mûr pour 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 extraction de fichiers zip. Vous le connaissez peut-être sous un autre nom, tel que vulnérabilité Zip Slip, qui s'est manifesté dans d'autres langages que Python !
Comment pouvez-vous atténuer les risques ?
Bien que la vulnérabilité soit connue depuis des années, les responsables de Python considèrent que la fonctionnalité d'extraction fonctionne ce qu'il est censé faire. Dans ce cas, certains peuvent dire « c'est une fonctionnalité, pas 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 de nettoyer les entrées non fiables afin d'éviter les vulnérabilités liées à la traversée des chemins dans le cadre de pratiques de développement sécurisées.
Vous souhaitez en savoir plus sur la façon d'écrire du code sécurisé et d'atténuer les risques avec Python ?
Essayez notre Défi Python gratuit.
Si vous souhaitez obtenir plus de directives de codage gratuites, consultez Coach de code sécurisé 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é révélée pour la première fois en 2007 et identifiée sous le nom 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é.

Secure Code Warrior est là pour aider votre organisation à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité informatique ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démoLaura Verheyde est une développeuse de logiciels chez Secure Code Warrior qui se concentre sur la recherche de vulnérabilités et la création de contenu pour les missions et les laboratoires de codage.


Récemment, une équipe de chercheurs en sécurité ont 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é révélée pour la première fois en 2007 et suivie comme 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 connaissent pas la situation ni la manière de la gérer. C'est pourquoi, ici à Secure Code Warrior, nous vous donnons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité pour en constater l'impact de première main et acquérir une expérience pratique des mécanismes de ce bogue persistant, afin de mieux protéger votre application !
Essayez la simulation Mission maintenant.
La vulnérabilité : traversée de chemins lors de l'extraction du fichier tar
La traversée de chemin ou de répertoire se produit lorsqu'une entrée utilisateur non nettoyée est utilisée pour créer un chemin de fichier, ce qui permet à un attaquant d'accéder à des fichiers et de les remplacer, et même d'exécuter du code arbitraire.
La vulnérabilité existe dans Python fichier goudron module. 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 le fait que .tar.gz ou .tgz extension. Chaque membre de l'archive peut être représenté par un Informations sur les étoiles objet, 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 dans lequel écrire. Cet emplacement est créé en joignant le chemin de base au nom du fichier :

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

Le problème ici est l'absence de nettoyage du nom de fichier. Un attaquant pourrait renommer les fichiers pour inclure des caractères de traversée de chemin, tels que point barre oblique (../), ce qui ferait sortir le fichier du répertoire dans lequel il était censé se trouver et remplacerait des fichiers arbitraires. Cela pourrait éventuellement conduire à l'exécution de code à distance, ce qui est mûr pour 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 extraction de fichiers zip. Vous le connaissez peut-être sous un autre nom, tel que vulnérabilité Zip Slip, qui s'est manifesté dans d'autres langages que Python !
Comment pouvez-vous atténuer les risques ?
Bien que la vulnérabilité soit connue depuis des années, les responsables de Python considèrent que la fonctionnalité d'extraction fonctionne ce qu'il est censé faire. Dans ce cas, certains peuvent dire « c'est une fonctionnalité, pas 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 de nettoyer les entrées non fiables afin d'éviter les vulnérabilités liées à la traversée des chemins dans le cadre de pratiques de développement sécurisées.
Vous souhaitez en savoir plus sur la façon d'écrire du code sécurisé et d'atténuer les risques avec Python ?
Essayez notre Défi Python gratuit.
Si vous souhaitez obtenir plus de directives de codage gratuites, consultez Coach de code sécurisé pour vous aider à rester au fait des pratiques de codage sécurisées.

Récemment, une équipe de chercheurs en sécurité ont 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é révélée pour la première fois en 2007 et suivie comme 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 connaissent pas la situation ni la manière de la gérer. C'est pourquoi, ici à Secure Code Warrior, nous vous donnons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité pour en constater l'impact de première main et acquérir une expérience pratique des mécanismes de ce bogue persistant, afin de mieux protéger votre application !
Essayez la simulation Mission maintenant.
La vulnérabilité : traversée de chemins lors de l'extraction du fichier tar
La traversée de chemin ou de répertoire se produit lorsqu'une entrée utilisateur non nettoyée est utilisée pour créer un chemin de fichier, ce qui permet à un attaquant d'accéder à des fichiers et de les remplacer, et même d'exécuter du code arbitraire.
La vulnérabilité existe dans Python fichier goudron module. 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 le fait que .tar.gz ou .tgz extension. Chaque membre de l'archive peut être représenté par un Informations sur les étoiles objet, 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 dans lequel écrire. Cet emplacement est créé en joignant le chemin de base au nom du fichier :

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

Le problème ici est l'absence de nettoyage du nom de fichier. Un attaquant pourrait renommer les fichiers pour inclure des caractères de traversée de chemin, tels que point barre oblique (../), ce qui ferait sortir le fichier du répertoire dans lequel il était censé se trouver et remplacerait des fichiers arbitraires. Cela pourrait éventuellement conduire à l'exécution de code à distance, ce qui est mûr pour 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 extraction de fichiers zip. Vous le connaissez peut-être sous un autre nom, tel que vulnérabilité Zip Slip, qui s'est manifesté dans d'autres langages que Python !
Comment pouvez-vous atténuer les risques ?
Bien que la vulnérabilité soit connue depuis des années, les responsables de Python considèrent que la fonctionnalité d'extraction fonctionne ce qu'il est censé faire. Dans ce cas, certains peuvent dire « c'est une fonctionnalité, pas 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 de nettoyer les entrées non fiables afin d'éviter les vulnérabilités liées à la traversée des chemins dans le cadre de pratiques de développement sécurisées.
Vous souhaitez en savoir plus sur la façon d'écrire du code sécurisé et d'atténuer les risques avec Python ?
Essayez notre Défi Python gratuit.
Si vous souhaitez obtenir plus de directives de codage gratuites, consultez Coach de code sécurisé pour vous aider à rester au fait des pratiques de codage sécurisées.

Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.
Secure Code Warrior est là pour aider votre organisation à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité informatique ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Afficher le rapportRéservez une démoLaura Verheyde est une développeuse de logiciels chez Secure Code Warrior qui se concentre sur la recherche de vulnérabilités et la création de contenu pour les missions et les laboratoires de codage.
Récemment, une équipe de chercheurs en sécurité ont 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é révélée pour la première fois en 2007 et suivie comme 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 connaissent pas la situation ni la manière de la gérer. C'est pourquoi, ici à Secure Code Warrior, nous vous donnons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité pour en constater l'impact de première main et acquérir une expérience pratique des mécanismes de ce bogue persistant, afin de mieux protéger votre application !
Essayez la simulation Mission maintenant.
La vulnérabilité : traversée de chemins lors de l'extraction du fichier tar
La traversée de chemin ou de répertoire se produit lorsqu'une entrée utilisateur non nettoyée est utilisée pour créer un chemin de fichier, ce qui permet à un attaquant d'accéder à des fichiers et de les remplacer, et même d'exécuter du code arbitraire.
La vulnérabilité existe dans Python fichier goudron module. 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 le fait que .tar.gz ou .tgz extension. Chaque membre de l'archive peut être représenté par un Informations sur les étoiles objet, 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 dans lequel écrire. Cet emplacement est créé en joignant le chemin de base au nom du fichier :

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

Le problème ici est l'absence de nettoyage du nom de fichier. Un attaquant pourrait renommer les fichiers pour inclure des caractères de traversée de chemin, tels que point barre oblique (../), ce qui ferait sortir le fichier du répertoire dans lequel il était censé se trouver et remplacerait des fichiers arbitraires. Cela pourrait éventuellement conduire à l'exécution de code à distance, ce qui est mûr pour 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 extraction de fichiers zip. Vous le connaissez peut-être sous un autre nom, tel que vulnérabilité Zip Slip, qui s'est manifesté dans d'autres langages que Python !
Comment pouvez-vous atténuer les risques ?
Bien que la vulnérabilité soit connue depuis des années, les responsables de Python considèrent que la fonctionnalité d'extraction fonctionne ce qu'il est censé faire. Dans ce cas, certains peuvent dire « c'est une fonctionnalité, pas 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 de nettoyer les entrées non fiables afin d'éviter les vulnérabilités liées à la traversée des chemins dans le cadre de pratiques de développement sécurisées.
Vous souhaitez en savoir plus sur la façon d'écrire du code sécurisé et d'atténuer les risques avec Python ?
Essayez notre Défi Python gratuit.
Si vous souhaitez obtenir plus de directives de codage gratuites, consultez Coach de code sécurisé pour vous aider à rester au fait des pratiques de codage sécurisées.
Table des matières

Secure Code Warrior est là pour aider votre organisation à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité informatique ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démoTéléchargerRessources pour vous aider à démarrer
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.
The Power of OpenText Application Security + 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.
Ressources pour vous aider à démarrer
Cybermon est de retour : les missions d'IA Beat the Boss sont désormais disponibles à la demande
Cybermon 2025 Beat the Boss est désormais disponible toute l'année dans SCW. Déployez des défis de sécurité avancés liés à l'IA et au LLM pour renforcer le développement sécurisé de l'IA à grande échelle.




.png)