SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

Verständnis von Pfaddurchlauffehlern im Python-Modul „tarfile“

Laura Verheyde
Veröffentlicht Okt 03, 2022
Zuletzt aktualisiert am 09. März 2026

Kürzlich gab eine Gruppe von Sicherheitsforschern bekannt, dass sie einen seit fünfzehn Jahren bestehenden Fehler in der Tar-Datei-Extraktionsfunktion von Python entdeckt haben. Die Schwachstelle wurde erstmals 2007 offengelegt und unter der Nummer CVE-2007-4559erfasst. In der offiziellen Python-Dokumentation wurde ein Hinweis hinzugefügt, aber der Fehler selbst wurde nicht behoben.

Diese Sicherheitslücke könnte Tausende von Softwareprojekten betreffen, doch viele sind sich der Situation oder der Vorgehensweise nicht bewusst. Aus diesem Grund bieten wir Ihnenhier bei Security Code Warriorsdie Möglichkeit, die Ausnutzung dieser Sicherheitslücke selbst zu simulieren, um ihre Auswirkungen mit eigenen Augen zu sehen und den Mechanismus dieses anhaltenden Fehlers selbst zu erleben, damit Sie Ihre Anwendungen besser schützen können!

Probieren Sie die Mission jetzt aus.

Sicherheitslücke: Pfadüberlauf beim Extrahieren von tar-Dateien

Wenn ungeprüfte Benutzereingaben zum Erstellen von Dateipfaden verwendet werden, kann es zu Pfad- oder Verzeichnisüberläufen kommen, wodurch Angreifer Zugriff erhalten, Dateien überschreiben und sogar beliebigen Code ausführen können.

Die Schwachstelle besteht im Python-Modul „tarfile “. Eine TAR-Datei (Tape Archive) ist eine einzelne Datei, die als Archiv bezeichnet wird. Sie enthält mehrere Dateien und deren Metadaten und ist in der Regel an der Dateiendung .tar.gz oder .tgz zu erkennen. Jedes Element im Archiv kann durch ein TarInfo-Objekt dargestellt werden, das Metadaten wie Dateiname, Änderungszeitpunkt, Eigentumsrechte usw. enthält.

Das Risiko besteht darin, dass die Dateien erneut abgerufen werden können.

Beim Extrahieren muss jedes Mitglied einen Pfad schreiben. Dieser Ort wird durch Verbinden des Basispfads mit dem Dateinamen erstellt:

Auszug aus Python Tarfile.py


Nach dem Erstellen dieses Pfads wird er an tarfile.extra oder tarfile.extall , um die extrahierende Funktion auszuführen:

Auszug aus Python Tarfile.py

Das Problem hierbei ist die mangelnde Bereinigung von Dateinamen. Angreifer können Dateien umbenennen, sodass sie Pfadüberlaufzeichen enthalten, beispielsweise Doppelpunkt-Schrägstrich (../), wodurch die Datei das Verzeichnis verlässt, in dem sie sich eigentlich befinden sollte, und beliebige Dateien überschreibt. Dies kann letztendlich zur Ausführung von Remote-Code führen, wobei die Zeit für die Ausnutzung bereits reif ist.

Wenn Sie wissen, wie man diese Schwachstelle erkennt, dann tritt sie auch in anderen Szenarien auf. Neben der Verarbeitung von tar-Dateien durch Python besteht diese Schwachstelle auch beim Extrahieren von zip-Dateien. Möglicherweise kennen Sie sie unter einem anderen Namen, beispielsweise als „Komprimierte Datei-Schwachstelle“, die auch in anderen Sprachen als Python auftritt!

Link zur Aufgabe 

Wie kann man das Risiko verringern?

Obwohl diese Schwachstelle seit Jahren bekannt ist, sind die Python-Entwickler weiterhin der Meinung, dass die Extraktionsfunktion sofunktioniert, wie sie soll. In diesem Fall könnte man argumentieren, dass es sich um eine Funktion und nicht um einen Fehler handelt. Leider können Entwickler es nicht immer vermeiden, tar- oder zip-Dateien aus unbekannten Quellen zu extrahieren. Als Teil sicherer Entwicklungspraktiken sind sie dafür verantwortlich, nicht vertrauenswürdige Eingaben zu bereinigen, um Pfadüberlauf-Schwachstellen zu verhindern.

Möchten Sie mehr darüber erfahren, wie Sie mit Python sicheren Code schreiben und Risiken minimieren können?

Probieren Sie unsere kostenlose Python-Challengeaus.

Wenn Sie an weiteren kostenlosen Programmierhandbüchern interessiert sind, sehen Sie sich den Security Code Coach an, der Ihnen hilft, sichere Programmierpraktiken zu erlernen.

Ressourcen anzeigen
Ressourcen anzeigen

Kürzlich gab eine Gruppe von Sicherheitsforschern bekannt, dass sie einen seit fünfzehn Jahren bestehenden Fehler in der Tar-Datei-Extraktionsfunktion von Python entdeckt haben. Die Schwachstelle wurde erstmals 2007 offengelegt und später als CVE-2007-4559 identifiziert. In der offiziellen Python-Dokumentation wurde ein Hinweis hinzugefügt, aber der Fehler selbst wurde nicht behoben.

Interessiert an mehr?

mehr erfahren

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Demo buchen
Teilen auf:
LinkedIn-MarkenSozialx Logo
作者
Laura Verheyde
Veröffentlicht Okt 03, 2022

Laura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und beschäftigt sich mit der Erforschung von Schwachstellen und der Erstellung von Inhalten für Missions und Coding Labs.

Teilen auf:
LinkedIn-MarkenSozialx Logo

Kürzlich gab eine Gruppe von Sicherheitsforschern bekannt, dass sie einen seit fünfzehn Jahren bestehenden Fehler in der Tar-Datei-Extraktionsfunktion von Python entdeckt haben. Die Schwachstelle wurde erstmals 2007 offengelegt und unter der Nummer CVE-2007-4559erfasst. In der offiziellen Python-Dokumentation wurde ein Hinweis hinzugefügt, aber der Fehler selbst wurde nicht behoben.

Diese Sicherheitslücke könnte Tausende von Softwareprojekten betreffen, doch viele sind sich der Situation oder der Vorgehensweise nicht bewusst. Aus diesem Grund bieten wir Ihnenhier bei Security Code Warriorsdie Möglichkeit, die Ausnutzung dieser Sicherheitslücke selbst zu simulieren, um ihre Auswirkungen mit eigenen Augen zu sehen und den Mechanismus dieses anhaltenden Fehlers selbst zu erleben, damit Sie Ihre Anwendungen besser schützen können!

Probieren Sie die Mission jetzt aus.

Sicherheitslücke: Pfadüberlauf beim Extrahieren von tar-Dateien

Wenn ungeprüfte Benutzereingaben zum Erstellen von Dateipfaden verwendet werden, kann es zu Pfad- oder Verzeichnisüberläufen kommen, wodurch Angreifer Zugriff erhalten, Dateien überschreiben und sogar beliebigen Code ausführen können.

Die Schwachstelle besteht im Python-Modul „tarfile “. Eine TAR-Datei (Tape Archive) ist eine einzelne Datei, die als Archiv bezeichnet wird. Sie enthält mehrere Dateien und deren Metadaten und ist in der Regel an der Dateiendung .tar.gz oder .tgz zu erkennen. Jedes Element im Archiv kann durch ein TarInfo-Objekt dargestellt werden, das Metadaten wie Dateiname, Änderungszeitpunkt, Eigentumsrechte usw. enthält.

Das Risiko besteht darin, dass die Dateien erneut abgerufen werden können.

Beim Extrahieren muss jedes Mitglied einen Pfad schreiben. Dieser Ort wird durch Verbinden des Basispfads mit dem Dateinamen erstellt:

Auszug aus Python Tarfile.py


Nach dem Erstellen dieses Pfads wird er an tarfile.extra oder tarfile.extall , um die extrahierende Funktion auszuführen:

Auszug aus Python Tarfile.py

Das Problem hierbei ist die mangelnde Bereinigung von Dateinamen. Angreifer können Dateien umbenennen, sodass sie Pfadüberlaufzeichen enthalten, beispielsweise Doppelpunkt-Schrägstrich (../), wodurch die Datei das Verzeichnis verlässt, in dem sie sich eigentlich befinden sollte, und beliebige Dateien überschreibt. Dies kann letztendlich zur Ausführung von Remote-Code führen, wobei die Zeit für die Ausnutzung bereits reif ist.

Wenn Sie wissen, wie man diese Schwachstelle erkennt, dann tritt sie auch in anderen Szenarien auf. Neben der Verarbeitung von tar-Dateien durch Python besteht diese Schwachstelle auch beim Extrahieren von zip-Dateien. Möglicherweise kennen Sie sie unter einem anderen Namen, beispielsweise als „Komprimierte Datei-Schwachstelle“, die auch in anderen Sprachen als Python auftritt!

Link zur Aufgabe 

Wie kann man das Risiko verringern?

Obwohl diese Schwachstelle seit Jahren bekannt ist, sind die Python-Entwickler weiterhin der Meinung, dass die Extraktionsfunktion sofunktioniert, wie sie soll. In diesem Fall könnte man argumentieren, dass es sich um eine Funktion und nicht um einen Fehler handelt. Leider können Entwickler es nicht immer vermeiden, tar- oder zip-Dateien aus unbekannten Quellen zu extrahieren. Als Teil sicherer Entwicklungspraktiken sind sie dafür verantwortlich, nicht vertrauenswürdige Eingaben zu bereinigen, um Pfadüberlauf-Schwachstellen zu verhindern.

Möchten Sie mehr darüber erfahren, wie Sie mit Python sicheren Code schreiben und Risiken minimieren können?

Probieren Sie unsere kostenlose Python-Challengeaus.

Wenn Sie an weiteren kostenlosen Programmierhandbüchern interessiert sind, sehen Sie sich den Security Code Coach an, der Ihnen hilft, sichere Programmierpraktiken zu erlernen.

Ressourcen anzeigen
Ressourcen anzeigen

Füllen Sie das folgende Formular aus, um den Bericht herunterzuladen.

Wir möchten Ihre Erlaubnis einholen, Ihnen Informationen über unsere Produkte und/oder relevante Themen zur Sicherheit von Codes zuzusenden. Wir werden Ihre personenbezogenen Daten stets mit größter Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Einreichen
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte die „Analyse“-Cookies. Nach Abschluss können Sie diese wieder deaktivieren.

Kürzlich gab eine Gruppe von Sicherheitsforschern bekannt, dass sie einen seit fünfzehn Jahren bestehenden Fehler in der Tar-Datei-Extraktionsfunktion von Python entdeckt haben. Die Schwachstelle wurde erstmals 2007 offengelegt und unter der Nummer CVE-2007-4559erfasst. In der offiziellen Python-Dokumentation wurde ein Hinweis hinzugefügt, aber der Fehler selbst wurde nicht behoben.

Diese Sicherheitslücke könnte Tausende von Softwareprojekten betreffen, doch viele sind sich der Situation oder der Vorgehensweise nicht bewusst. Aus diesem Grund bieten wir Ihnenhier bei Security Code Warriorsdie Möglichkeit, die Ausnutzung dieser Sicherheitslücke selbst zu simulieren, um ihre Auswirkungen mit eigenen Augen zu sehen und den Mechanismus dieses anhaltenden Fehlers selbst zu erleben, damit Sie Ihre Anwendungen besser schützen können!

Probieren Sie die Mission jetzt aus.

Sicherheitslücke: Pfadüberlauf beim Extrahieren von tar-Dateien

Wenn ungeprüfte Benutzereingaben zum Erstellen von Dateipfaden verwendet werden, kann es zu Pfad- oder Verzeichnisüberläufen kommen, wodurch Angreifer Zugriff erhalten, Dateien überschreiben und sogar beliebigen Code ausführen können.

Die Schwachstelle besteht im Python-Modul „tarfile “. Eine TAR-Datei (Tape Archive) ist eine einzelne Datei, die als Archiv bezeichnet wird. Sie enthält mehrere Dateien und deren Metadaten und ist in der Regel an der Dateiendung .tar.gz oder .tgz zu erkennen. Jedes Element im Archiv kann durch ein TarInfo-Objekt dargestellt werden, das Metadaten wie Dateiname, Änderungszeitpunkt, Eigentumsrechte usw. enthält.

Das Risiko besteht darin, dass die Dateien erneut abgerufen werden können.

Beim Extrahieren muss jedes Mitglied einen Pfad schreiben. Dieser Ort wird durch Verbinden des Basispfads mit dem Dateinamen erstellt:

Auszug aus Python Tarfile.py


Nach dem Erstellen dieses Pfads wird er an tarfile.extra oder tarfile.extall , um die extrahierende Funktion auszuführen:

Auszug aus Python Tarfile.py

Das Problem hierbei ist die mangelnde Bereinigung von Dateinamen. Angreifer können Dateien umbenennen, sodass sie Pfadüberlaufzeichen enthalten, beispielsweise Doppelpunkt-Schrägstrich (../), wodurch die Datei das Verzeichnis verlässt, in dem sie sich eigentlich befinden sollte, und beliebige Dateien überschreibt. Dies kann letztendlich zur Ausführung von Remote-Code führen, wobei die Zeit für die Ausnutzung bereits reif ist.

Wenn Sie wissen, wie man diese Schwachstelle erkennt, dann tritt sie auch in anderen Szenarien auf. Neben der Verarbeitung von tar-Dateien durch Python besteht diese Schwachstelle auch beim Extrahieren von zip-Dateien. Möglicherweise kennen Sie sie unter einem anderen Namen, beispielsweise als „Komprimierte Datei-Schwachstelle“, die auch in anderen Sprachen als Python auftritt!

Link zur Aufgabe 

Wie kann man das Risiko verringern?

Obwohl diese Schwachstelle seit Jahren bekannt ist, sind die Python-Entwickler weiterhin der Meinung, dass die Extraktionsfunktion sofunktioniert, wie sie soll. In diesem Fall könnte man argumentieren, dass es sich um eine Funktion und nicht um einen Fehler handelt. Leider können Entwickler es nicht immer vermeiden, tar- oder zip-Dateien aus unbekannten Quellen zu extrahieren. Als Teil sicherer Entwicklungspraktiken sind sie dafür verantwortlich, nicht vertrauenswürdige Eingaben zu bereinigen, um Pfadüberlauf-Schwachstellen zu verhindern.

Möchten Sie mehr darüber erfahren, wie Sie mit Python sicheren Code schreiben und Risiken minimieren können?

Probieren Sie unsere kostenlose Python-Challengeaus.

Wenn Sie an weiteren kostenlosen Programmierhandbüchern interessiert sind, sehen Sie sich den Security Code Coach an, der Ihnen hilft, sichere Programmierpraktiken zu erlernen.

Webinar ansehen
Fangen wir an.
mehr erfahren

Klicken Sie auf den folgenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Bericht anzeigenDemo buchen
Ressourcen anzeigen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Interessiert an mehr?

Teilen auf:
LinkedIn-MarkenSozialx Logo
作者
Laura Verheyde
Veröffentlicht Okt 03, 2022

Laura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und beschäftigt sich mit der Erforschung von Schwachstellen und der Erstellung von Inhalten für Missions und Coding Labs.

Teilen auf:
LinkedIn-MarkenSozialx Logo

Kürzlich gab eine Gruppe von Sicherheitsforschern bekannt, dass sie einen seit fünfzehn Jahren bestehenden Fehler in der Tar-Datei-Extraktionsfunktion von Python entdeckt haben. Die Schwachstelle wurde erstmals 2007 offengelegt und unter der Nummer CVE-2007-4559erfasst. In der offiziellen Python-Dokumentation wurde ein Hinweis hinzugefügt, aber der Fehler selbst wurde nicht behoben.

Diese Sicherheitslücke könnte Tausende von Softwareprojekten betreffen, doch viele sind sich der Situation oder der Vorgehensweise nicht bewusst. Aus diesem Grund bieten wir Ihnenhier bei Security Code Warriorsdie Möglichkeit, die Ausnutzung dieser Sicherheitslücke selbst zu simulieren, um ihre Auswirkungen mit eigenen Augen zu sehen und den Mechanismus dieses anhaltenden Fehlers selbst zu erleben, damit Sie Ihre Anwendungen besser schützen können!

Probieren Sie die Mission jetzt aus.

Sicherheitslücke: Pfadüberlauf beim Extrahieren von tar-Dateien

Wenn ungeprüfte Benutzereingaben zum Erstellen von Dateipfaden verwendet werden, kann es zu Pfad- oder Verzeichnisüberläufen kommen, wodurch Angreifer Zugriff erhalten, Dateien überschreiben und sogar beliebigen Code ausführen können.

Die Schwachstelle besteht im Python-Modul „tarfile “. Eine TAR-Datei (Tape Archive) ist eine einzelne Datei, die als Archiv bezeichnet wird. Sie enthält mehrere Dateien und deren Metadaten und ist in der Regel an der Dateiendung .tar.gz oder .tgz zu erkennen. Jedes Element im Archiv kann durch ein TarInfo-Objekt dargestellt werden, das Metadaten wie Dateiname, Änderungszeitpunkt, Eigentumsrechte usw. enthält.

Das Risiko besteht darin, dass die Dateien erneut abgerufen werden können.

Beim Extrahieren muss jedes Mitglied einen Pfad schreiben. Dieser Ort wird durch Verbinden des Basispfads mit dem Dateinamen erstellt:

Auszug aus Python Tarfile.py


Nach dem Erstellen dieses Pfads wird er an tarfile.extra oder tarfile.extall , um die extrahierende Funktion auszuführen:

Auszug aus Python Tarfile.py

Das Problem hierbei ist die mangelnde Bereinigung von Dateinamen. Angreifer können Dateien umbenennen, sodass sie Pfadüberlaufzeichen enthalten, beispielsweise Doppelpunkt-Schrägstrich (../), wodurch die Datei das Verzeichnis verlässt, in dem sie sich eigentlich befinden sollte, und beliebige Dateien überschreibt. Dies kann letztendlich zur Ausführung von Remote-Code führen, wobei die Zeit für die Ausnutzung bereits reif ist.

Wenn Sie wissen, wie man diese Schwachstelle erkennt, dann tritt sie auch in anderen Szenarien auf. Neben der Verarbeitung von tar-Dateien durch Python besteht diese Schwachstelle auch beim Extrahieren von zip-Dateien. Möglicherweise kennen Sie sie unter einem anderen Namen, beispielsweise als „Komprimierte Datei-Schwachstelle“, die auch in anderen Sprachen als Python auftritt!

Link zur Aufgabe 

Wie kann man das Risiko verringern?

Obwohl diese Schwachstelle seit Jahren bekannt ist, sind die Python-Entwickler weiterhin der Meinung, dass die Extraktionsfunktion sofunktioniert, wie sie soll. In diesem Fall könnte man argumentieren, dass es sich um eine Funktion und nicht um einen Fehler handelt. Leider können Entwickler es nicht immer vermeiden, tar- oder zip-Dateien aus unbekannten Quellen zu extrahieren. Als Teil sicherer Entwicklungspraktiken sind sie dafür verantwortlich, nicht vertrauenswürdige Eingaben zu bereinigen, um Pfadüberlauf-Schwachstellen zu verhindern.

Möchten Sie mehr darüber erfahren, wie Sie mit Python sicheren Code schreiben und Risiken minimieren können?

Probieren Sie unsere kostenlose Python-Challengeaus.

Wenn Sie an weiteren kostenlosen Programmierhandbüchern interessiert sind, sehen Sie sich den Security Code Coach an, der Ihnen hilft, sichere Programmierpraktiken zu erlernen.

Verzeichnis

PDF herunterladen
Ressourcen anzeigen
Interessiert an mehr?

mehr erfahren

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Demo buchen下载
Teilen auf:
LinkedIn-MarkenSozialx Logo
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge