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

Comprendre le bug de recherche de chemin du module Python tarfile

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

Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert un bug vieux de 15 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é suivie sous le numéro CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais le bug lui-même n'a pas été corrigé.

Cette vulnérabilité peut affecter des milliers de projets logiciels, mais beaucoup de personnes ne sont pas conscientes de la situation ni de la manière de la gérer. C'est pourquoi nous sommes ici. Secure Code Warrior vous offre la possibilité de simuler directement l'exploitation de cette vulnérabilité, d'en constater les effets et d'expérimenter par vous-même le mécanisme de ce bug persistant. Vous serez ainsi mieux à même de protéger vos applications.

Veuillez procéder à la simulation de la mission immédiatement.

Vulnérabilité : exploration du chemin d'accès lors de l'extraction du fichier tar

La navigation dans les chemins d'accès ou les répertoires se produit lorsque les entrées utilisateur non supprimées contribuent à la construction du chemin d'accès au fichier. Cela permet à un attaquant d'accéder au fichier, de le remplacer et de modifier du code arbitraire.

Cette vulnérabilité se trouve dans Python. Le module tarfile.tar (archive sur bande) est un fichier unique appelé archive. Il regroupe plusieurs fichiers avec des métadonnées et permet généralement de reconnaître l'espace comme suit : .tar.gz ou .tgz. Chaque membre de l'archive compressée peut être défini comme suit : Fichier d'informations tar Objet contenant des métadonnées telles que le nom du fichier, la date de modification, la propriété, etc.

Il existe un risque, car il est possible d'extraire à nouveau les archives.

Lors de l'extraction, un nom doit être attribué à chaque membre. Cet emplacement indique le chemin d'accès au fichier par défaut.

Python Snippet Tarfile.py


Une fois ce chemin créé, il sera transmis au chemin suivant. Fichier tar.extract ou Fichier star. Extraction complète Fonction permettant d'effectuer l'extraction :

Python Snippet Tarfile.py

Le problème avec ce fichier réside dans le manque de rigueur dans le choix du nom. Un attaquant pourrait modifier le nom du fichier pour inclure les caractères de navigation suivants : deux points, deux points, barre oblique (../). L'utilisation de ces caractères pourrait permettre au fichier d'être exécuté.

Si vous connaissez la méthode d'identification des vulnérabilités, celles-ci apparaissent également dans d'autres scénarios. La vulnérabilité de Python dans le traitement des fichiers tar est la suivante : extraction de fichiers zip. Vous connaissez peut-être déjà ce contenu sous le nom suivant : vulnérabilité zip slip. Sa véritable valeur a également été révélée dans d'autres langages que Python.

Lien vers la mission 

Comment pouvons-nous réduire les risques ?

<<이 취약점이 수년간 우리에게 다가왔어요. 파이썬 기능이 제대로 작동하고 있다고 생각해요. 해야 할 일.이 경우 “버그가 기능이야” 라고 말하는 사람이 없는 것입니다.안타깝게도 개발자들이 알 수 없는 곳에서 tar 또는 zip 파일을 추출하는 것을 항상 기억할 수 없습니다.보안 관행의 일환으로 경로 탐색 취약점을 지키기 위해 최선을 다하는 것은 개발자의 몫입니다.

Souhaitez-vous en savoir plus sur la manière d'écrire du code sécurisé et d'atténuer les risques avec Python ?

Veuillez consulter notre produit d'essai Python Challenge gratuit.

Si vous souhaitez obtenir davantage de directives de codage gratuites, veuillez revenir nous voir. Secure Code Coach vous aide à maintenir vos pratiques de sécurité à jour.

Consulter les ressources
Consulter les ressources

Une équipe de recherche en sécurité a récemment annoncé avoir découvert un bug vieux de 15 ans dans la fonctionnalité d'extraction des fichiers tar de Python. Cette vulnérabilité a été rendue publique en 2007 et initialement répertoriée sous le numéro CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais le bug n'a pas été corrigé.

Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior est là pour aider les organisations à protéger leur 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, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.

Veuillez prendre rendez-vous pour une démonstration.
Destinataires :
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.

Destinataires :
marques LinkedInSocialLogo x

Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert un bug vieux de 15 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é suivie sous le numéro CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais le bug lui-même n'a pas été corrigé.

Cette vulnérabilité peut affecter des milliers de projets logiciels, mais beaucoup de personnes ne sont pas conscientes de la situation ni de la manière de la gérer. C'est pourquoi nous sommes ici. Secure Code Warrior vous offre la possibilité de simuler directement l'exploitation de cette vulnérabilité, d'en constater les effets et d'expérimenter par vous-même le mécanisme de ce bug persistant. Vous serez ainsi mieux à même de protéger vos applications.

Veuillez procéder à la simulation de la mission immédiatement.

Vulnérabilité : exploration du chemin d'accès lors de l'extraction du fichier tar

La navigation dans les chemins d'accès ou les répertoires se produit lorsque les entrées utilisateur non supprimées contribuent à la construction du chemin d'accès au fichier. Cela permet à un attaquant d'accéder au fichier, de le remplacer et de modifier du code arbitraire.

Cette vulnérabilité se trouve dans Python. Le module tarfile.tar (archive sur bande) est un fichier unique appelé archive. Il regroupe plusieurs fichiers avec des métadonnées et permet généralement de reconnaître l'espace comme suit : .tar.gz ou .tgz. Chaque membre de l'archive compressée peut être défini comme suit : Fichier d'informations tar Objet contenant des métadonnées telles que le nom du fichier, la date de modification, la propriété, etc.

Il existe un risque, car il est possible d'extraire à nouveau les archives.

Lors de l'extraction, un nom doit être attribué à chaque membre. Cet emplacement indique le chemin d'accès au fichier par défaut.

Python Snippet Tarfile.py


Une fois ce chemin créé, il sera transmis au chemin suivant. Fichier tar.extract ou Fichier star. Extraction complète Fonction permettant d'effectuer l'extraction :

Python Snippet Tarfile.py

Le problème avec ce fichier réside dans le manque de rigueur dans le choix du nom. Un attaquant pourrait modifier le nom du fichier pour inclure les caractères de navigation suivants : deux points, deux points, barre oblique (../). L'utilisation de ces caractères pourrait permettre au fichier d'être exécuté.

Si vous connaissez la méthode d'identification des vulnérabilités, celles-ci apparaissent également dans d'autres scénarios. La vulnérabilité de Python dans le traitement des fichiers tar est la suivante : extraction de fichiers zip. Vous connaissez peut-être déjà ce contenu sous le nom suivant : vulnérabilité zip slip. Sa véritable valeur a également été révélée dans d'autres langages que Python.

Lien vers la mission 

Comment pouvons-nous réduire les risques ?

<<이 취약점이 수년간 우리에게 다가왔어요. 파이썬 기능이 제대로 작동하고 있다고 생각해요. 해야 할 일.이 경우 “버그가 기능이야” 라고 말하는 사람이 없는 것입니다.안타깝게도 개발자들이 알 수 없는 곳에서 tar 또는 zip 파일을 추출하는 것을 항상 기억할 수 없습니다.보안 관행의 일환으로 경로 탐색 취약점을 지키기 위해 최선을 다하는 것은 개발자의 몫입니다.

Souhaitez-vous en savoir plus sur la manière d'écrire du code sécurisé et d'atténuer les risques avec Python ?

Veuillez consulter notre produit d'essai Python Challenge gratuit.

Si vous souhaitez obtenir davantage de directives de codage gratuites, veuillez revenir nous voir. Secure Code Coach vous aide à maintenir vos pratiques de sécurité à jour.

Consulter les ressources
Consulter les ressources

Veuillez remplir le formulaire ci-dessous pour télécharger le rapport.

Nous sollicitons votre consentement pour vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traitons toujours vos informations personnelles avec la plus grande attention et ne les vendons jamais à d'autres entreprises à des fins marketing.

Soumission
icône de réussite scw
icône d'erreur scw
Veuillez activer le cookie « Analytics » pour soumettre le formulaire. Une fois terminé, vous pouvez le désactiver à tout moment.

Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert un bug vieux de 15 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é suivie sous le numéro CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais le bug lui-même n'a pas été corrigé.

Cette vulnérabilité peut affecter des milliers de projets logiciels, mais beaucoup de personnes ne sont pas conscientes de la situation ni de la manière de la gérer. C'est pourquoi nous sommes ici. Secure Code Warrior vous offre la possibilité de simuler directement l'exploitation de cette vulnérabilité, d'en constater les effets et d'expérimenter par vous-même le mécanisme de ce bug persistant. Vous serez ainsi mieux à même de protéger vos applications.

Veuillez procéder à la simulation de la mission immédiatement.

Vulnérabilité : exploration du chemin d'accès lors de l'extraction du fichier tar

La navigation dans les chemins d'accès ou les répertoires se produit lorsque les entrées utilisateur non supprimées contribuent à la construction du chemin d'accès au fichier. Cela permet à un attaquant d'accéder au fichier, de le remplacer et de modifier du code arbitraire.

Cette vulnérabilité se trouve dans Python. Le module tarfile.tar (archive sur bande) est un fichier unique appelé archive. Il regroupe plusieurs fichiers avec des métadonnées et permet généralement de reconnaître l'espace comme suit : .tar.gz ou .tgz. Chaque membre de l'archive compressée peut être défini comme suit : Fichier d'informations tar Objet contenant des métadonnées telles que le nom du fichier, la date de modification, la propriété, etc.

Il existe un risque, car il est possible d'extraire à nouveau les archives.

Lors de l'extraction, un nom doit être attribué à chaque membre. Cet emplacement indique le chemin d'accès au fichier par défaut.

Python Snippet Tarfile.py


Une fois ce chemin créé, il sera transmis au chemin suivant. Fichier tar.extract ou Fichier star. Extraction complète Fonction permettant d'effectuer l'extraction :

Python Snippet Tarfile.py

Le problème avec ce fichier réside dans le manque de rigueur dans le choix du nom. Un attaquant pourrait modifier le nom du fichier pour inclure les caractères de navigation suivants : deux points, deux points, barre oblique (../). L'utilisation de ces caractères pourrait permettre au fichier d'être exécuté.

Si vous connaissez la méthode d'identification des vulnérabilités, celles-ci apparaissent également dans d'autres scénarios. La vulnérabilité de Python dans le traitement des fichiers tar est la suivante : extraction de fichiers zip. Vous connaissez peut-être déjà ce contenu sous le nom suivant : vulnérabilité zip slip. Sa véritable valeur a également été révélée dans d'autres langages que Python.

Lien vers la mission 

Comment pouvons-nous réduire les risques ?

<<이 취약점이 수년간 우리에게 다가왔어요. 파이썬 기능이 제대로 작동하고 있다고 생각해요. 해야 할 일.이 경우 “버그가 기능이야” 라고 말하는 사람이 없는 것입니다.안타깝게도 개발자들이 알 수 없는 곳에서 tar 또는 zip 파일을 추출하는 것을 항상 기억할 수 없습니다.보안 관행의 일환으로 경로 탐색 취약점을 지키기 위해 최선을 다하는 것은 개발자의 몫입니다.

Souhaitez-vous en savoir plus sur la manière d'écrire du code sécurisé et d'atténuer les risques avec Python ?

Veuillez consulter notre produit d'essai Python Challenge gratuit.

Si vous souhaitez obtenir davantage de directives de codage gratuites, veuillez revenir nous voir. Secure Code Coach vous aide à maintenir vos pratiques de sécurité à jour.

Veuillez consulter le webinaire.
Commencer
En savoir plus

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

Secure Code Warrior est là pour aider les organisations à protéger leur 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, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.

Consulter le rapportVeuillez prendre rendez-vous pour une démonstration.
Télécharger le PDF
Consulter les ressources
Destinataires :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Destinataires :
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.

Destinataires :
marques LinkedInSocialLogo x

Récemment, une équipe de chercheurs en sécurité a annoncé avoir découvert un bug vieux de 15 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é suivie sous le numéro CVE-2007-4559. Une note a été ajoutée à la documentation officielle de Python, mais le bug lui-même n'a pas été corrigé.

Cette vulnérabilité peut affecter des milliers de projets logiciels, mais beaucoup de personnes ne sont pas conscientes de la situation ni de la manière de la gérer. C'est pourquoi nous sommes ici. Secure Code Warrior vous offre la possibilité de simuler directement l'exploitation de cette vulnérabilité, d'en constater les effets et d'expérimenter par vous-même le mécanisme de ce bug persistant. Vous serez ainsi mieux à même de protéger vos applications.

Veuillez procéder à la simulation de la mission immédiatement.

Vulnérabilité : exploration du chemin d'accès lors de l'extraction du fichier tar

La navigation dans les chemins d'accès ou les répertoires se produit lorsque les entrées utilisateur non supprimées contribuent à la construction du chemin d'accès au fichier. Cela permet à un attaquant d'accéder au fichier, de le remplacer et de modifier du code arbitraire.

Cette vulnérabilité se trouve dans Python. Le module tarfile.tar (archive sur bande) est un fichier unique appelé archive. Il regroupe plusieurs fichiers avec des métadonnées et permet généralement de reconnaître l'espace comme suit : .tar.gz ou .tgz. Chaque membre de l'archive compressée peut être défini comme suit : Fichier d'informations tar Objet contenant des métadonnées telles que le nom du fichier, la date de modification, la propriété, etc.

Il existe un risque, car il est possible d'extraire à nouveau les archives.

Lors de l'extraction, un nom doit être attribué à chaque membre. Cet emplacement indique le chemin d'accès au fichier par défaut.

Python Snippet Tarfile.py


Une fois ce chemin créé, il sera transmis au chemin suivant. Fichier tar.extract ou Fichier star. Extraction complète Fonction permettant d'effectuer l'extraction :

Python Snippet Tarfile.py

Le problème avec ce fichier réside dans le manque de rigueur dans le choix du nom. Un attaquant pourrait modifier le nom du fichier pour inclure les caractères de navigation suivants : deux points, deux points, barre oblique (../). L'utilisation de ces caractères pourrait permettre au fichier d'être exécuté.

Si vous connaissez la méthode d'identification des vulnérabilités, celles-ci apparaissent également dans d'autres scénarios. La vulnérabilité de Python dans le traitement des fichiers tar est la suivante : extraction de fichiers zip. Vous connaissez peut-être déjà ce contenu sous le nom suivant : vulnérabilité zip slip. Sa véritable valeur a également été révélée dans d'autres langages que Python.

Lien vers la mission 

Comment pouvons-nous réduire les risques ?

<<이 취약점이 수년간 우리에게 다가왔어요. 파이썬 기능이 제대로 작동하고 있다고 생각해요. 해야 할 일.이 경우 “버그가 기능이야” 라고 말하는 사람이 없는 것입니다.안타깝게도 개발자들이 알 수 없는 곳에서 tar 또는 zip 파일을 추출하는 것을 항상 기억할 수 없습니다.보안 관행의 일환으로 경로 탐색 취약점을 지키기 위해 최선을 다하는 것은 개발자의 몫입니다.

Souhaitez-vous en savoir plus sur la manière d'écrire du code sécurisé et d'atténuer les risques avec Python ?

Veuillez consulter notre produit d'essai Python Challenge gratuit.

Si vous souhaitez obtenir davantage de directives de codage gratuites, veuillez revenir nous voir. Secure Code Coach vous aide à maintenir vos pratiques de sécurité à jour.

Table des matières

Télécharger le PDF
Consulter les ressources
Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior est là pour aider les organisations à protéger leur 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, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.

Veuillez prendre rendez-vous pour une démonstration.Télécharger
Destinataires :
marques LinkedInSocialLogo x
Centre de ressources

Ressources utiles pour débuter

Plus d'articles
Centre de ressources

Ressources utiles pour débuter

Plus d'articles