Icônes SCW
héros bg sans séparateur
Blog

Veuillez noter l'erreur de parcours de chemin dans le module tar file de Python.

Laura Verheyde
Publié le 03 octobre 2022
Dernière mise à jour le 6 mars 2026

Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction de fichiers tar de Python. Cette vulnérabilité a été révélée pour la première fois en 2007 et référencée sous le nom CVE2007-4559. Une note a été ajoutée à 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 de nombreuses personnes ne sont pas familiarisées avec la situation ni avec la manière de la gérer. C'est pourquoi, ici, chez Secure Code Warrior, nous vous offrons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin d'en constater l'impact par vous-même et d'acquérir une expérience pratique du fonctionnement de cette erreur persistante, afin de mieux protéger votre application.

Veuillez essayer la simulation Mission dès maintenant.

La vulnérabilité : parcours de la route pendant l'extraction du fichier tar

Le parcours de chemins ou de répertoires se produit lorsque des entrées utilisateur non désinfectées sont utilisées pour construire un chemin d'accès à un fichier, ce qui permet à un attaquant d'accéder aux fichiers et de les écraser, voire d'exécuter du code arbitraire.

La vulnérabilité est présente dans le module Python tar. Un fichier tar (fichier bande) est un fichier unique, appelé archive. Il regroupe plusieurs fichiers avec leurs métadonnées et est généralement reconnaissable à son extension .tar.gz ou .tgz. Chaque élément du fichier peut être représenté par un objet TAR Info, qui contient des métadonnées telles que le nom du fichier, l'heure de modification, la propriété, etc.

Le risque découle de la possibilité que les fichiers soient à nouveau extraits.

Lorsqu'il est extrait, chaque membre a besoin d'un chemin d'accès où écrire. Cet emplacement est créé en joignant le chemin d'accès de base au nom du fichier :

Extrait de Python Tarfile.py


Une fois ce chemin créé, il est transféré vers fichier tar.extract ou fichier tar.extractall fonctions pour effectuer l'extraction :

Extrait de Python Tarfile.py

Le problème ici est l'absence de désinfection du nom du fichier. Un attaquant pourrait modifier le nom des fichiers pour y inclure des caractères parcourant les chemins d'accès, tels que point-point/barre oblique (../), ce qui ferait sortir le fichier du répertoire auquel il était destiné et écraserait des fichiers arbitraires. À terme, cela pourrait conduire à l'exécution de code à distance, ce qui est susceptible d'être exploité.

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 également dans l'extraction des fichiers zip. Vous la connaissez peut-être sous un autre nom, tel que la vulnérabilité zip slip, qui s'est manifestée dans d'autres langages que Python.

Lien vers la mission 

Comment pouvez-vous réduire le risque ?

Bien que cette vulnérabilité soit connue depuis plusieurs années, les responsables de Python considèrent que la fonctionnalité d'extraction fonctionne comme prévu. Dans ce cas, certains pourraient affirmer qu'il s'agit d'une fonctionnalité et non d'une erreur. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip provenant d'une source inconnue. Dans le cadre des pratiques de développement sécurisé, c'est à eux qu'il incombe de désinfecter les informations non fiables afin d'empêcher les vulnérabilités de s'écarter des chemins.

Souhaitez-vous obtenir davantage d'informations sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?

Veuillez essayer gratuitement notre défi Python.

Si vous souhaitez obtenir davantage de conseils gratuits en matière de codage, veuillez consulter le Code Safe Trainer afin de vous tenir informé des pratiques de codage sécurisées.

Veuillez consulter la ressource
Veuillez consulter la ressource

Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction de fichiers tar de Python. La vulnérabilité a été découverte pour la première fois en 2007 et référencée sous le nom 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.

Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO 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é.

Veuillez réserver une démonstration.
Partager sur :
marques LinkedInSocialLogo x
auteur
Laura Verheyde
Publié le 03 octobre 2022

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.

Partager sur :
marques LinkedInSocialLogo x

Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction de fichiers tar de Python. Cette vulnérabilité a été révélée pour la première fois en 2007 et référencée sous le nom CVE2007-4559. Une note a été ajoutée à 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 de nombreuses personnes ne sont pas familiarisées avec la situation ni avec la manière de la gérer. C'est pourquoi, ici, chez Secure Code Warrior, nous vous offrons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin d'en constater l'impact par vous-même et d'acquérir une expérience pratique du fonctionnement de cette erreur persistante, afin de mieux protéger votre application.

Veuillez essayer la simulation Mission dès maintenant.

La vulnérabilité : parcours de la route pendant l'extraction du fichier tar

Le parcours de chemins ou de répertoires se produit lorsque des entrées utilisateur non désinfectées sont utilisées pour construire un chemin d'accès à un fichier, ce qui permet à un attaquant d'accéder aux fichiers et de les écraser, voire d'exécuter du code arbitraire.

La vulnérabilité est présente dans le module Python tar. Un fichier tar (fichier bande) est un fichier unique, appelé archive. Il regroupe plusieurs fichiers avec leurs métadonnées et est généralement reconnaissable à son extension .tar.gz ou .tgz. Chaque élément du fichier peut être représenté par un objet TAR Info, qui contient des métadonnées telles que le nom du fichier, l'heure de modification, la propriété, etc.

Le risque découle de la possibilité que les fichiers soient à nouveau extraits.

Lorsqu'il est extrait, chaque membre a besoin d'un chemin d'accès où écrire. Cet emplacement est créé en joignant le chemin d'accès de base au nom du fichier :

Extrait de Python Tarfile.py


Une fois ce chemin créé, il est transféré vers fichier tar.extract ou fichier tar.extractall fonctions pour effectuer l'extraction :

Extrait de Python Tarfile.py

Le problème ici est l'absence de désinfection du nom du fichier. Un attaquant pourrait modifier le nom des fichiers pour y inclure des caractères parcourant les chemins d'accès, tels que point-point/barre oblique (../), ce qui ferait sortir le fichier du répertoire auquel il était destiné et écraserait des fichiers arbitraires. À terme, cela pourrait conduire à l'exécution de code à distance, ce qui est susceptible d'être exploité.

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 également dans l'extraction des fichiers zip. Vous la connaissez peut-être sous un autre nom, tel que la vulnérabilité zip slip, qui s'est manifestée dans d'autres langages que Python.

Lien vers la mission 

Comment pouvez-vous réduire le risque ?

Bien que cette vulnérabilité soit connue depuis plusieurs années, les responsables de Python considèrent que la fonctionnalité d'extraction fonctionne comme prévu. Dans ce cas, certains pourraient affirmer qu'il s'agit d'une fonctionnalité et non d'une erreur. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip provenant d'une source inconnue. Dans le cadre des pratiques de développement sécurisé, c'est à eux qu'il incombe de désinfecter les informations non fiables afin d'empêcher les vulnérabilités de s'écarter des chemins.

Souhaitez-vous obtenir davantage d'informations sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?

Veuillez essayer gratuitement notre défi Python.

Si vous souhaitez obtenir davantage de conseils gratuits en matière de codage, veuillez consulter le Code Safe Trainer afin de vous tenir informé des pratiques de codage sécurisées.

Veuillez consulter la ressource
Veuillez consulter la ressource

Veuillez remplir le formulaire suivant pour télécharger le rapport.

Nous souhaiterions obtenir votre autorisation pour vous envoyer des informations sur nos produits ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Envoyer
icône de réussite scw
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer les cookies « d'analyse ». N'hésitez pas à les désactiver à nouveau une fois que vous avez terminé.

Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction de fichiers tar de Python. Cette vulnérabilité a été révélée pour la première fois en 2007 et référencée sous le nom CVE2007-4559. Une note a été ajoutée à 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 de nombreuses personnes ne sont pas familiarisées avec la situation ni avec la manière de la gérer. C'est pourquoi, ici, chez Secure Code Warrior, nous vous offrons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin d'en constater l'impact par vous-même et d'acquérir une expérience pratique du fonctionnement de cette erreur persistante, afin de mieux protéger votre application.

Veuillez essayer la simulation Mission dès maintenant.

La vulnérabilité : parcours de la route pendant l'extraction du fichier tar

Le parcours de chemins ou de répertoires se produit lorsque des entrées utilisateur non désinfectées sont utilisées pour construire un chemin d'accès à un fichier, ce qui permet à un attaquant d'accéder aux fichiers et de les écraser, voire d'exécuter du code arbitraire.

La vulnérabilité est présente dans le module Python tar. Un fichier tar (fichier bande) est un fichier unique, appelé archive. Il regroupe plusieurs fichiers avec leurs métadonnées et est généralement reconnaissable à son extension .tar.gz ou .tgz. Chaque élément du fichier peut être représenté par un objet TAR Info, qui contient des métadonnées telles que le nom du fichier, l'heure de modification, la propriété, etc.

Le risque découle de la possibilité que les fichiers soient à nouveau extraits.

Lorsqu'il est extrait, chaque membre a besoin d'un chemin d'accès où écrire. Cet emplacement est créé en joignant le chemin d'accès de base au nom du fichier :

Extrait de Python Tarfile.py


Une fois ce chemin créé, il est transféré vers fichier tar.extract ou fichier tar.extractall fonctions pour effectuer l'extraction :

Extrait de Python Tarfile.py

Le problème ici est l'absence de désinfection du nom du fichier. Un attaquant pourrait modifier le nom des fichiers pour y inclure des caractères parcourant les chemins d'accès, tels que point-point/barre oblique (../), ce qui ferait sortir le fichier du répertoire auquel il était destiné et écraserait des fichiers arbitraires. À terme, cela pourrait conduire à l'exécution de code à distance, ce qui est susceptible d'être exploité.

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 également dans l'extraction des fichiers zip. Vous la connaissez peut-être sous un autre nom, tel que la vulnérabilité zip slip, qui s'est manifestée dans d'autres langages que Python.

Lien vers la mission 

Comment pouvez-vous réduire le risque ?

Bien que cette vulnérabilité soit connue depuis plusieurs années, les responsables de Python considèrent que la fonctionnalité d'extraction fonctionne comme prévu. Dans ce cas, certains pourraient affirmer qu'il s'agit d'une fonctionnalité et non d'une erreur. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip provenant d'une source inconnue. Dans le cadre des pratiques de développement sécurisé, c'est à eux qu'il incombe de désinfecter les informations non fiables afin d'empêcher les vulnérabilités de s'écarter des chemins.

Souhaitez-vous obtenir davantage d'informations sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?

Veuillez essayer gratuitement notre défi Python.

Si vous souhaitez obtenir davantage de conseils gratuits en matière de codage, veuillez consulter le Code Safe Trainer afin de vous tenir informé des pratiques de codage sécurisées.

Veuillez consulter le webinaire
Commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO 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é.

Veuillez consulter le rapportVeuillez réserver une démonstration.
Télécharger le PDF
Veuillez consulter la ressource
Partager sur :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager sur :
marques LinkedInSocialLogo x
auteur
Laura Verheyde
Publié le 03 octobre 2022

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.

Partager sur :
marques LinkedInSocialLogo x

Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert une faille vieille de quinze ans dans la fonctionnalité d'extraction de fichiers tar de Python. Cette vulnérabilité a été révélée pour la première fois en 2007 et référencée sous le nom CVE2007-4559. Une note a été ajoutée à 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 de nombreuses personnes ne sont pas familiarisées avec la situation ni avec la manière de la gérer. C'est pourquoi, ici, chez Secure Code Warrior, nous vous offrons la possibilité de simuler vous-même l'exploitation de cette vulnérabilité afin d'en constater l'impact par vous-même et d'acquérir une expérience pratique du fonctionnement de cette erreur persistante, afin de mieux protéger votre application.

Veuillez essayer la simulation Mission dès maintenant.

La vulnérabilité : parcours de la route pendant l'extraction du fichier tar

Le parcours de chemins ou de répertoires se produit lorsque des entrées utilisateur non désinfectées sont utilisées pour construire un chemin d'accès à un fichier, ce qui permet à un attaquant d'accéder aux fichiers et de les écraser, voire d'exécuter du code arbitraire.

La vulnérabilité est présente dans le module Python tar. Un fichier tar (fichier bande) est un fichier unique, appelé archive. Il regroupe plusieurs fichiers avec leurs métadonnées et est généralement reconnaissable à son extension .tar.gz ou .tgz. Chaque élément du fichier peut être représenté par un objet TAR Info, qui contient des métadonnées telles que le nom du fichier, l'heure de modification, la propriété, etc.

Le risque découle de la possibilité que les fichiers soient à nouveau extraits.

Lorsqu'il est extrait, chaque membre a besoin d'un chemin d'accès où écrire. Cet emplacement est créé en joignant le chemin d'accès de base au nom du fichier :

Extrait de Python Tarfile.py


Une fois ce chemin créé, il est transféré vers fichier tar.extract ou fichier tar.extractall fonctions pour effectuer l'extraction :

Extrait de Python Tarfile.py

Le problème ici est l'absence de désinfection du nom du fichier. Un attaquant pourrait modifier le nom des fichiers pour y inclure des caractères parcourant les chemins d'accès, tels que point-point/barre oblique (../), ce qui ferait sortir le fichier du répertoire auquel il était destiné et écraserait des fichiers arbitraires. À terme, cela pourrait conduire à l'exécution de code à distance, ce qui est susceptible d'être exploité.

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 également dans l'extraction des fichiers zip. Vous la connaissez peut-être sous un autre nom, tel que la vulnérabilité zip slip, qui s'est manifestée dans d'autres langages que Python.

Lien vers la mission 

Comment pouvez-vous réduire le risque ?

Bien que cette vulnérabilité soit connue depuis plusieurs années, les responsables de Python considèrent que la fonctionnalité d'extraction fonctionne comme prévu. Dans ce cas, certains pourraient affirmer qu'il s'agit d'une fonctionnalité et non d'une erreur. Malheureusement, les développeurs ne peuvent pas toujours éviter d'extraire des fichiers tar ou zip provenant d'une source inconnue. Dans le cadre des pratiques de développement sécurisé, c'est à eux qu'il incombe de désinfecter les informations non fiables afin d'empêcher les vulnérabilités de s'écarter des chemins.

Souhaitez-vous obtenir davantage d'informations sur la manière d'écrire du code sécurisé et de réduire les risques avec Python ?

Veuillez essayer gratuitement notre défi Python.

Si vous souhaitez obtenir davantage de conseils gratuits en matière de codage, veuillez consulter le Code Safe Trainer afin de vous tenir informé des pratiques de codage sécurisées.

Table des matières

Télécharger le PDF
Veuillez consulter la ressource
Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO 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é.

Veuillez réserver une démonstration.Télécharger
Partager sur :
marques LinkedInSocialLogo x
Centre de ressources

Ressources pour débuter

Plus de publications
Centre de ressources

Ressources pour débuter

Plus de publications