
Comprendre l'erreur de parcours de chemin dans le module tarfile de Python
Récemment, un groupe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction des fichiers tar de Python. Cette vulnérabilité a été signalée pour la première fois en 2007 et référencée sous le numéro CVE-2007-4559. Une note a été ajoutée dans la documentation officielle de Python, mais la faille elle-même n'a pas été corrigée.
Cette vulnérabilité pourrait affecter des milliers de projets logiciels, mais beaucoup de personnes ne sont pas conscientes de la situation ou ne savent pas comment y remédier. C'est pourquoi, chez Security Code Warriors, nousvous offrons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin de constater ses effets et de comprendre le mécanisme de cette erreur persistante, ce qui vous permettra de mieux protéger vos applications.
Veuillez essayer la simulation de mission dès maintenant.
Vulnérabilité : parcours de chemin lors de l'extraction d'un fichier tar
Lorsque des entrées utilisateur non vérifiées sont utilisées pour construire des chemins d'accès à des fichiers, cela peut entraîner un parcours de chemin ou de répertoire, permettant ainsi à un attaquant d'obtenir des privilèges d'accès, de remplacer des fichiers, voire d'exécuter du code arbitraire.
Cette vulnérabilité est présente dans le module tarfile de Python. Un fichier tar (archive sur bande) est un fichier unique appelé archive. Il regroupe plusieurs fichiers et leurs métadonnées, généralement identifiés par l'extension .tar.gz ou .tgz. Chaque élément de l'archive peut être représenté par un objet TarInfo contenant des métadonnées telles que le nom du fichier, la date de modification, le propriétaire, etc.
Le risque réside dans la possibilité de récupérer à nouveau les archives.
Lors de l'extraction, chaque membre doit indiquer un chemin d'accès. Cet emplacement est créé en combinant le chemin d'accès de base et le nom du fichier :

Une fois ce chemin créé, il sera transmis au fichier tarfile.extra. tarfile.extra ou tarfile.extall pour exécuter la fonction d'extraction :

Le problème ici est l'absence de nettoyage des noms de fichiers. Un attaquant pourrait renommer un fichier de manière à inclure des caractères de traversée de chemin, tels que des barres obliques inversées (../), ce qui permettrait au fichier de sortir du répertoire où il est censé se trouver et de remplacer n'importe quel fichier. Cela pourrait finalement conduire à l'exécution de code à distance, et le moment est venu d'exploiter cette faille.
Si vous savez comment identifier cette vulnérabilité, elle peut apparaître dans d'autres contextes. Outre le traitement des fichiers tar par Python, cette vulnérabilité existe également lorsde l'extraction de fichiers zip. Vous la connaissez peut-être sous un autre nom, tel que « vulnérabilité des fichiers compressés », qui a déjà été observée dans d'autres langages que Python.
Comment réduire les risques ?
Bien que cette vulnérabilité soit connue depuis plusieurs années, les responsables de la maintenance de Python considèrent toujours que la fonctionnalité d'extraction fonctionne comme prévu. Dans ce contexte, certains pourraient affirmer qu'il s'agit d'une fonctionnalité et non d'un défaut. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip provenant de sources inconnues. Dans le cadre des pratiques de développement sécurisé, il est de leur responsabilité de nettoyer les entrées non fiables afin de prévenir les vulnérabilités de type « path traversal ».
Souhaitez-vous en savoir plus sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?
Nous vous invitons à essayer notre défi Python gratuit.
Si vous souhaitez obtenir davantage de guides de programmation gratuits, veuillez consulter le Code Coach pour la sécurité afin de vous familiariser avec les pratiques de codage sécurisé.


Récemment, un groupe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction des fichiers tar de Python. Cette vulnérabilité a été signalée pour la première fois en 2007 et a été référencée sous le nom CVE-2007-4559. Une note a été ajoutée dans la documentation officielle de Python, mais la faille elle-même n'a pas été corrigée.

Secure Code Warrior peut aider votre organisation à sécuriser le code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, directeur de la sécurité de l'information ou tout autre professionnel concerné par la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez réserver une démonstration.Laura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.


Récemment, un groupe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction des fichiers tar de Python. Cette vulnérabilité a été signalée pour la première fois en 2007 et référencée sous le numéro CVE-2007-4559. Une note a été ajoutée dans la documentation officielle de Python, mais la faille elle-même n'a pas été corrigée.
Cette vulnérabilité pourrait affecter des milliers de projets logiciels, mais beaucoup de personnes ne sont pas conscientes de la situation ou ne savent pas comment y remédier. C'est pourquoi, chez Security Code Warriors, nousvous offrons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin de constater ses effets et de comprendre le mécanisme de cette erreur persistante, ce qui vous permettra de mieux protéger vos applications.
Veuillez essayer la simulation de mission dès maintenant.
Vulnérabilité : parcours de chemin lors de l'extraction d'un fichier tar
Lorsque des entrées utilisateur non vérifiées sont utilisées pour construire des chemins d'accès à des fichiers, cela peut entraîner un parcours de chemin ou de répertoire, permettant ainsi à un attaquant d'obtenir des privilèges d'accès, de remplacer des fichiers, voire d'exécuter du code arbitraire.
Cette vulnérabilité est présente dans le module tarfile de Python. Un fichier tar (archive sur bande) est un fichier unique appelé archive. Il regroupe plusieurs fichiers et leurs métadonnées, généralement identifiés par l'extension .tar.gz ou .tgz. Chaque élément de l'archive peut être représenté par un objet TarInfo contenant des métadonnées telles que le nom du fichier, la date de modification, le propriétaire, etc.
Le risque réside dans la possibilité de récupérer à nouveau les archives.
Lors de l'extraction, chaque membre doit indiquer un chemin d'accès. Cet emplacement est créé en combinant le chemin d'accès de base et le nom du fichier :

Une fois ce chemin créé, il sera transmis au fichier tarfile.extra. tarfile.extra ou tarfile.extall pour exécuter la fonction d'extraction :

Le problème ici est l'absence de nettoyage des noms de fichiers. Un attaquant pourrait renommer un fichier de manière à inclure des caractères de traversée de chemin, tels que des barres obliques inversées (../), ce qui permettrait au fichier de sortir du répertoire où il est censé se trouver et de remplacer n'importe quel fichier. Cela pourrait finalement conduire à l'exécution de code à distance, et le moment est venu d'exploiter cette faille.
Si vous savez comment identifier cette vulnérabilité, elle peut apparaître dans d'autres contextes. Outre le traitement des fichiers tar par Python, cette vulnérabilité existe également lorsde l'extraction de fichiers zip. Vous la connaissez peut-être sous un autre nom, tel que « vulnérabilité des fichiers compressés », qui a déjà été observée dans d'autres langages que Python.
Comment réduire les risques ?
Bien que cette vulnérabilité soit connue depuis plusieurs années, les responsables de la maintenance de Python considèrent toujours que la fonctionnalité d'extraction fonctionne comme prévu. Dans ce contexte, certains pourraient affirmer qu'il s'agit d'une fonctionnalité et non d'un défaut. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip provenant de sources inconnues. Dans le cadre des pratiques de développement sécurisé, il est de leur responsabilité de nettoyer les entrées non fiables afin de prévenir les vulnérabilités de type « path traversal ».
Souhaitez-vous en savoir plus sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?
Nous vous invitons à essayer notre défi Python gratuit.
Si vous souhaitez obtenir davantage de guides de programmation gratuits, veuillez consulter le Code Coach pour la sécurité afin de vous familiariser avec les pratiques de codage sécurisé.

Récemment, un groupe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction des fichiers tar de Python. Cette vulnérabilité a été signalée pour la première fois en 2007 et référencée sous le numéro CVE-2007-4559. Une note a été ajoutée dans la documentation officielle de Python, mais la faille elle-même n'a pas été corrigée.
Cette vulnérabilité pourrait affecter des milliers de projets logiciels, mais beaucoup de personnes ne sont pas conscientes de la situation ou ne savent pas comment y remédier. C'est pourquoi, chez Security Code Warriors, nousvous offrons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin de constater ses effets et de comprendre le mécanisme de cette erreur persistante, ce qui vous permettra de mieux protéger vos applications.
Veuillez essayer la simulation de mission dès maintenant.
Vulnérabilité : parcours de chemin lors de l'extraction d'un fichier tar
Lorsque des entrées utilisateur non vérifiées sont utilisées pour construire des chemins d'accès à des fichiers, cela peut entraîner un parcours de chemin ou de répertoire, permettant ainsi à un attaquant d'obtenir des privilèges d'accès, de remplacer des fichiers, voire d'exécuter du code arbitraire.
Cette vulnérabilité est présente dans le module tarfile de Python. Un fichier tar (archive sur bande) est un fichier unique appelé archive. Il regroupe plusieurs fichiers et leurs métadonnées, généralement identifiés par l'extension .tar.gz ou .tgz. Chaque élément de l'archive peut être représenté par un objet TarInfo contenant des métadonnées telles que le nom du fichier, la date de modification, le propriétaire, etc.
Le risque réside dans la possibilité de récupérer à nouveau les archives.
Lors de l'extraction, chaque membre doit indiquer un chemin d'accès. Cet emplacement est créé en combinant le chemin d'accès de base et le nom du fichier :

Une fois ce chemin créé, il sera transmis au fichier tarfile.extra. tarfile.extra ou tarfile.extall pour exécuter la fonction d'extraction :

Le problème ici est l'absence de nettoyage des noms de fichiers. Un attaquant pourrait renommer un fichier de manière à inclure des caractères de traversée de chemin, tels que des barres obliques inversées (../), ce qui permettrait au fichier de sortir du répertoire où il est censé se trouver et de remplacer n'importe quel fichier. Cela pourrait finalement conduire à l'exécution de code à distance, et le moment est venu d'exploiter cette faille.
Si vous savez comment identifier cette vulnérabilité, elle peut apparaître dans d'autres contextes. Outre le traitement des fichiers tar par Python, cette vulnérabilité existe également lorsde l'extraction de fichiers zip. Vous la connaissez peut-être sous un autre nom, tel que « vulnérabilité des fichiers compressés », qui a déjà été observée dans d'autres langages que Python.
Comment réduire les risques ?
Bien que cette vulnérabilité soit connue depuis plusieurs années, les responsables de la maintenance de Python considèrent toujours que la fonctionnalité d'extraction fonctionne comme prévu. Dans ce contexte, certains pourraient affirmer qu'il s'agit d'une fonctionnalité et non d'un défaut. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip provenant de sources inconnues. Dans le cadre des pratiques de développement sécurisé, il est de leur responsabilité de nettoyer les entrées non fiables afin de prévenir les vulnérabilités de type « path traversal ».
Souhaitez-vous en savoir plus sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?
Nous vous invitons à essayer notre défi Python gratuit.
Si vous souhaitez obtenir davantage de guides de programmation gratuits, veuillez consulter le Code Coach pour la sécurité afin de vous familiariser avec les pratiques de codage sécurisé.

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.
Secure Code Warrior peut aider votre organisation à sécuriser le code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, directeur de la sécurité de l'information ou tout autre professionnel concerné par la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez consulter le rapport.Veuillez réserver une démonstration.Laura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.
Récemment, un groupe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction des fichiers tar de Python. Cette vulnérabilité a été signalée pour la première fois en 2007 et référencée sous le numéro CVE-2007-4559. Une note a été ajoutée dans la documentation officielle de Python, mais la faille elle-même n'a pas été corrigée.
Cette vulnérabilité pourrait affecter des milliers de projets logiciels, mais beaucoup de personnes ne sont pas conscientes de la situation ou ne savent pas comment y remédier. C'est pourquoi, chez Security Code Warriors, nousvous offrons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin de constater ses effets et de comprendre le mécanisme de cette erreur persistante, ce qui vous permettra de mieux protéger vos applications.
Veuillez essayer la simulation de mission dès maintenant.
Vulnérabilité : parcours de chemin lors de l'extraction d'un fichier tar
Lorsque des entrées utilisateur non vérifiées sont utilisées pour construire des chemins d'accès à des fichiers, cela peut entraîner un parcours de chemin ou de répertoire, permettant ainsi à un attaquant d'obtenir des privilèges d'accès, de remplacer des fichiers, voire d'exécuter du code arbitraire.
Cette vulnérabilité est présente dans le module tarfile de Python. Un fichier tar (archive sur bande) est un fichier unique appelé archive. Il regroupe plusieurs fichiers et leurs métadonnées, généralement identifiés par l'extension .tar.gz ou .tgz. Chaque élément de l'archive peut être représenté par un objet TarInfo contenant des métadonnées telles que le nom du fichier, la date de modification, le propriétaire, etc.
Le risque réside dans la possibilité de récupérer à nouveau les archives.
Lors de l'extraction, chaque membre doit indiquer un chemin d'accès. Cet emplacement est créé en combinant le chemin d'accès de base et le nom du fichier :

Une fois ce chemin créé, il sera transmis au fichier tarfile.extra. tarfile.extra ou tarfile.extall pour exécuter la fonction d'extraction :

Le problème ici est l'absence de nettoyage des noms de fichiers. Un attaquant pourrait renommer un fichier de manière à inclure des caractères de traversée de chemin, tels que des barres obliques inversées (../), ce qui permettrait au fichier de sortir du répertoire où il est censé se trouver et de remplacer n'importe quel fichier. Cela pourrait finalement conduire à l'exécution de code à distance, et le moment est venu d'exploiter cette faille.
Si vous savez comment identifier cette vulnérabilité, elle peut apparaître dans d'autres contextes. Outre le traitement des fichiers tar par Python, cette vulnérabilité existe également lorsde l'extraction de fichiers zip. Vous la connaissez peut-être sous un autre nom, tel que « vulnérabilité des fichiers compressés », qui a déjà été observée dans d'autres langages que Python.
Comment réduire les risques ?
Bien que cette vulnérabilité soit connue depuis plusieurs années, les responsables de la maintenance de Python considèrent toujours que la fonctionnalité d'extraction fonctionne comme prévu. Dans ce contexte, certains pourraient affirmer qu'il s'agit d'une fonctionnalité et non d'un défaut. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip provenant de sources inconnues. Dans le cadre des pratiques de développement sécurisé, il est de leur responsabilité de nettoyer les entrées non fiables afin de prévenir les vulnérabilités de type « path traversal ».
Souhaitez-vous en savoir plus sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?
Nous vous invitons à essayer notre défi Python gratuit.
Si vous souhaitez obtenir davantage de guides de programmation gratuits, veuillez consulter le Code Coach pour la sécurité afin de vous familiariser avec les pratiques de codage sécurisé.
Table des matières

Secure Code Warrior peut aider votre organisation à sécuriser le code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, directeur de la sécurité de l'information ou tout autre professionnel concerné par la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez réserver une démonstration.TéléchargerRessources pour vous aider à démarrer
Formation sur les codes de sécurité : thèmes et contenu
Notre contenu de pointe évolue constamment pour s'adapter au paysage changeant du développement logiciel, tout en tenant compte de votre rôle. Les sujets abordés couvrent tout, de l'IA à l'injection XQuery, et s'adressent à divers postes, des architectes et ingénieurs aux chefs de produit et responsables de l'assurance qualité. Découvrez un aperçu par thème et par rôle de ce que notre catalogue de contenu a à offrir.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources pour vous aider à démarrer
Cybermon est de retour : la mission AI pour vaincre le boss est désormais disponible sur demande.
Cybermon 2025 : la campagne « Vaincre le boss » est désormais disponible toute l'année dans SCW. La guerre de sécurité avancée de l'IA/LLM tribale, le renforcement de l'IA de sécurité à grande échelle.
Interprétation de la loi sur la résilience des réseaux : que signifie la sécurité par le biais de la conception et du développement de logiciels ?
Comprenez les exigences de la loi européenne sur la résilience des réseaux (CRA), à qui elle s'applique et comment les équipes d'ingénierie peuvent s'y préparer grâce à des pratiques de conception, à la prévention des vulnérabilités et au renforcement des capacités des développeurs.
Facteur déterminant 1 : des critères de réussite clairs et mesurables
Le catalyseur n° 1 constitue le premier volet de notre série en dix parties consacrée aux facteurs de réussite. Il démontre comment relier la sécurité du code aux résultats opérationnels, tels que la réduction des risques et l'accélération de la maturité des programmes à long terme.




%20(1).avif)
.avif)
