SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

Pythonのtarfileモジュールパトラバーサバグキンクー

ローラ・バーハイド
Veröffentlicht Okt 03, 2022
Zuletzt aktualisiert am 10. März 2026

Kürzlich gab ein Team von Sicherheitsforschern bekannt, dass es einen 15 Jahre alten Fehler in der Tar-Datei-Extraktionsfunktion von Python gefunden hat. Diese Schwachstelle wurde erstmals 2007 veröffentlicht und unter der Nummer CVE-2007-4559verfolgt. Obwohl ein Hinweis in die offizielle Python-Dokumentation aufgenommen wurde, blieb der Fehler selbst ungepatcht.

Diese Schwachstelle kann Tausende von Softwareprojekten betreffen, doch viele Menschen sind mit der Situation und den Gegenmaßnahmen nicht vertraut. Aus diesem Grund bietet Secure Code WarriorIhnen die Möglichkeit, die Ausnutzung dieser Schwachstelle selbst zu simulieren, die Auswirkungen direkt zu überprüfen und die Funktionsweise dieses hartnäckigen Fehlers hautnah zu erleben. Auf diese Weise können Sie den Schutz Ihrer Anwendungen verbessern.

Simulieren wir es. Mission jetzt.

Vulnerability: Path traversal during tar file extraction

Eine Pastraversal- oder Verzeichnis-Traversal-Sicherheitslücke tritt auf, wenn Dateipfade unter Verwendung nicht bereinigter Benutzereingaben erstellt werden. Dadurch können Angreifer auf Dateien zugreifen, diese überschreiben oder beliebigen Code ausführen.

Diese Schwachstelle besteht in Python im tar-Modul. Eine tar-Datei (Tape Archive) ist eine einzelne Datei, die als Archiv bezeichnet wird. Sie enthält mehrere Dateien und deren Metadaten in einem Paket und hat in der Regel die Erweiterung tar.gz oder tgz. Jedes Element im Archiv ist ein TAR-Informationsobjekt, das Metadaten wie Dateiname, Änderungszeitpunkt und Eigentumsrechte enthält.

Das Risiko besteht darin, dass das Archiv erneut extrahiert werden kann.

Beim Extrahieren ist ein Schreibpfad für alle Mitglieder erforderlich. Dieser Pfad wird durch die Kombination des Basispfads und des Dateinamens erstellt.

Python-Snippet Tarfile.py


このパスが作成されると、に渡されます tar-Datei. Extrahieren oder tar-Datei. Alle extrahieren Funktion zum Ausführen der Extraktion:

Python-Snippet Tarfile.py

Das Problem hierbei ist, dass die Dateinamen nicht saniert werden. Angreifer könnten die Dateinamen so ändern, dass sie Pfadüberschreitungszeichen enthalten, wie z. B. Doppelpunkt-Doppelpunkt-Schrägstrich (../). Dadurch werden die Dateien aus ihrem ursprünglichen Verzeichnis verschoben und überschreiben beliebige Dateien. Dies führt letztendlich dazu, dass Code aus der Ferne ausgeführt und leicht missbraucht werden kann.

Die Schwachstelle tritt auch in anderen Szenarien auf, wenn bestimmte Methoden bekannt sind. Zusätzlich zur Verarbeitung von tar-Dateien mit Python betrifft diese Schwachstelle auch das Extrahieren von zip-Dateien. Dies ist möglicherweise auch unter einem anderen Namen bekannt. Beispielsweise wurde die Zip-Slipp-Schwachstelle auch in anderen Sprachen als Pythonentdeckt!

Link zur Mission 

Wie kann man das Risiko verringern?

Diese Schwachstelle ist seit Jahren bekannt, aber die Python-Maintainer erwarten, dass die extrahierende Funktion das tut, was sie tun soll. In diesem Fall könnten einige sagen, dass es sich nicht um einen Fehler, sondern um eine Funktion handelt. Leider können Entwickler nicht immer vermeiden, tar- oder zip-Dateien aus unbekannten Quellen zu extrahieren. Als Teil sicherer Entwicklungspraktiken liegt es in der Verantwortung der Entwickler, nicht vertrauenswürdige Eingaben zu sanieren und so eine Path-Traversal-Schwachstelle zu verhindern.

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

Probieren Sie uns aus mit unserer kostenlosen Python-Challenge.

Wenn Sie weitere kostenlose Codierungsrichtlinien erhalten möchten, schauen Sie sich Secure Code Coach an. Es hilft Ihnen dabei, stets über sichere Codierungsmethoden informiert zu bleiben.

リソースを表示
リソースを表示

Heute ist es 15 Jahre her, dass Python in Pacific Park einen Fehler hatte. Im Herbst 2007 wurde dies in der Zeitung unter der Nummer CVE-2007-4559 veröffentlicht. Python lebt weiter.

もっと興味がありますか?

mehr erfahren

Secure Code Warrior schützt Ihren Code während des gesamten Softwareentwicklungszyklus und hilft Ihnen dabei, eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie Anwendungs-Sicherheitsmanager, Entwickler, CISO oder Sicherheitsbeauftragter sind – wir helfen Ihnen dabei, die mit unsicherem Code verbundenen Risiken zu minimieren.

デモを予約
シェア:
LinkedIn-MarkenSozialx Logo
Autor
ローラ・バーハイド
Veröffentlicht Okt 03, 2022

Laura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und konzentriert sich auf die Untersuchung von Schwachstellen und die Erstellung von Inhalten für Mission Labs und Coding Labs.

シェア:
LinkedIn-MarkenSozialx Logo

Kürzlich gab ein Team von Sicherheitsforschern bekannt, dass es einen 15 Jahre alten Fehler in der Tar-Datei-Extraktionsfunktion von Python gefunden hat. Diese Schwachstelle wurde erstmals 2007 veröffentlicht und unter der Nummer CVE-2007-4559verfolgt. Obwohl ein Hinweis in die offizielle Python-Dokumentation aufgenommen wurde, blieb der Fehler selbst ungepatcht.

Diese Schwachstelle kann Tausende von Softwareprojekten betreffen, doch viele Menschen sind mit der Situation und den Gegenmaßnahmen nicht vertraut. Aus diesem Grund bietet Secure Code WarriorIhnen die Möglichkeit, die Ausnutzung dieser Schwachstelle selbst zu simulieren, die Auswirkungen direkt zu überprüfen und die Funktionsweise dieses hartnäckigen Fehlers hautnah zu erleben. Auf diese Weise können Sie den Schutz Ihrer Anwendungen verbessern.

Simulieren wir es. Mission jetzt.

Vulnerability: Path traversal during tar file extraction

Eine Pastraversal- oder Verzeichnis-Traversal-Sicherheitslücke tritt auf, wenn Dateipfade unter Verwendung nicht bereinigter Benutzereingaben erstellt werden. Dadurch können Angreifer auf Dateien zugreifen, diese überschreiben oder beliebigen Code ausführen.

Diese Schwachstelle besteht in Python im tar-Modul. Eine tar-Datei (Tape Archive) ist eine einzelne Datei, die als Archiv bezeichnet wird. Sie enthält mehrere Dateien und deren Metadaten in einem Paket und hat in der Regel die Erweiterung tar.gz oder tgz. Jedes Element im Archiv ist ein TAR-Informationsobjekt, das Metadaten wie Dateiname, Änderungszeitpunkt und Eigentumsrechte enthält.

Das Risiko besteht darin, dass das Archiv erneut extrahiert werden kann.

Beim Extrahieren ist ein Schreibpfad für alle Mitglieder erforderlich. Dieser Pfad wird durch die Kombination des Basispfads und des Dateinamens erstellt.

Python-Snippet Tarfile.py


このパスが作成されると、に渡されます tar-Datei. Extrahieren oder tar-Datei. Alle extrahieren Funktion zum Ausführen der Extraktion:

Python-Snippet Tarfile.py

Das Problem hierbei ist, dass die Dateinamen nicht saniert werden. Angreifer könnten die Dateinamen so ändern, dass sie Pfadüberschreitungszeichen enthalten, wie z. B. Doppelpunkt-Doppelpunkt-Schrägstrich (../). Dadurch werden die Dateien aus ihrem ursprünglichen Verzeichnis verschoben und überschreiben beliebige Dateien. Dies führt letztendlich dazu, dass Code aus der Ferne ausgeführt und leicht missbraucht werden kann.

Die Schwachstelle tritt auch in anderen Szenarien auf, wenn bestimmte Methoden bekannt sind. Zusätzlich zur Verarbeitung von tar-Dateien mit Python betrifft diese Schwachstelle auch das Extrahieren von zip-Dateien. Dies ist möglicherweise auch unter einem anderen Namen bekannt. Beispielsweise wurde die Zip-Slipp-Schwachstelle auch in anderen Sprachen als Pythonentdeckt!

Link zur Mission 

Wie kann man das Risiko verringern?

Diese Schwachstelle ist seit Jahren bekannt, aber die Python-Maintainer erwarten, dass die extrahierende Funktion das tut, was sie tun soll. In diesem Fall könnten einige sagen, dass es sich nicht um einen Fehler, sondern um eine Funktion handelt. Leider können Entwickler nicht immer vermeiden, tar- oder zip-Dateien aus unbekannten Quellen zu extrahieren. Als Teil sicherer Entwicklungspraktiken liegt es in der Verantwortung der Entwickler, nicht vertrauenswürdige Eingaben zu sanieren und so eine Path-Traversal-Schwachstelle zu verhindern.

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

Probieren Sie uns aus mit unserer kostenlosen Python-Challenge.

Wenn Sie weitere kostenlose Codierungsrichtlinien erhalten möchten, schauen Sie sich Secure Code Coach an. Es hilft Ihnen dabei, stets über sichere Codierungsmethoden informiert zu bleiben.

リソースを表示
リソースを表示

Um den Bericht herunterzuladen, füllen Sie bitte das folgende Formular aus.

Wir bitten um Ihre Erlaubnis, Ihnen Informationen zu unseren Produkten und/oder zu Themen rund um sicheres Programmieren zuzusenden. Wir behandeln Ihre personenbezogenen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen weiter.

送信
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte das „Analytics“-Cookie. Nach Abschluss der Einstellungen können Sie es wieder deaktivieren.

Kürzlich gab ein Team von Sicherheitsforschern bekannt, dass es einen 15 Jahre alten Fehler in der Tar-Datei-Extraktionsfunktion von Python gefunden hat. Diese Schwachstelle wurde erstmals 2007 veröffentlicht und unter der Nummer CVE-2007-4559verfolgt. Obwohl ein Hinweis in die offizielle Python-Dokumentation aufgenommen wurde, blieb der Fehler selbst ungepatcht.

Diese Schwachstelle kann Tausende von Softwareprojekten betreffen, doch viele Menschen sind mit der Situation und den Gegenmaßnahmen nicht vertraut. Aus diesem Grund bietet Secure Code WarriorIhnen die Möglichkeit, die Ausnutzung dieser Schwachstelle selbst zu simulieren, die Auswirkungen direkt zu überprüfen und die Funktionsweise dieses hartnäckigen Fehlers hautnah zu erleben. Auf diese Weise können Sie den Schutz Ihrer Anwendungen verbessern.

Simulieren wir es. Mission jetzt.

Vulnerability: Path traversal during tar file extraction

Eine Pastraversal- oder Verzeichnis-Traversal-Sicherheitslücke tritt auf, wenn Dateipfade unter Verwendung nicht bereinigter Benutzereingaben erstellt werden. Dadurch können Angreifer auf Dateien zugreifen, diese überschreiben oder beliebigen Code ausführen.

Diese Schwachstelle besteht in Python im tar-Modul. Eine tar-Datei (Tape Archive) ist eine einzelne Datei, die als Archiv bezeichnet wird. Sie enthält mehrere Dateien und deren Metadaten in einem Paket und hat in der Regel die Erweiterung tar.gz oder tgz. Jedes Element im Archiv ist ein TAR-Informationsobjekt, das Metadaten wie Dateiname, Änderungszeitpunkt und Eigentumsrechte enthält.

Das Risiko besteht darin, dass das Archiv erneut extrahiert werden kann.

Beim Extrahieren ist ein Schreibpfad für alle Mitglieder erforderlich. Dieser Pfad wird durch die Kombination des Basispfads und des Dateinamens erstellt.

Python-Snippet Tarfile.py


このパスが作成されると、に渡されます tar-Datei. Extrahieren oder tar-Datei. Alle extrahieren Funktion zum Ausführen der Extraktion:

Python-Snippet Tarfile.py

Das Problem hierbei ist, dass die Dateinamen nicht saniert werden. Angreifer könnten die Dateinamen so ändern, dass sie Pfadüberschreitungszeichen enthalten, wie z. B. Doppelpunkt-Doppelpunkt-Schrägstrich (../). Dadurch werden die Dateien aus ihrem ursprünglichen Verzeichnis verschoben und überschreiben beliebige Dateien. Dies führt letztendlich dazu, dass Code aus der Ferne ausgeführt und leicht missbraucht werden kann.

Die Schwachstelle tritt auch in anderen Szenarien auf, wenn bestimmte Methoden bekannt sind. Zusätzlich zur Verarbeitung von tar-Dateien mit Python betrifft diese Schwachstelle auch das Extrahieren von zip-Dateien. Dies ist möglicherweise auch unter einem anderen Namen bekannt. Beispielsweise wurde die Zip-Slipp-Schwachstelle auch in anderen Sprachen als Pythonentdeckt!

Link zur Mission 

Wie kann man das Risiko verringern?

Diese Schwachstelle ist seit Jahren bekannt, aber die Python-Maintainer erwarten, dass die extrahierende Funktion das tut, was sie tun soll. In diesem Fall könnten einige sagen, dass es sich nicht um einen Fehler, sondern um eine Funktion handelt. Leider können Entwickler nicht immer vermeiden, tar- oder zip-Dateien aus unbekannten Quellen zu extrahieren. Als Teil sicherer Entwicklungspraktiken liegt es in der Verantwortung der Entwickler, nicht vertrauenswürdige Eingaben zu sanieren und so eine Path-Traversal-Schwachstelle zu verhindern.

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

Probieren Sie uns aus mit unserer kostenlosen Python-Challenge.

Wenn Sie weitere kostenlose Codierungsrichtlinien erhalten möchten, schauen Sie sich Secure Code Coach an. Es hilft Ihnen dabei, stets über sichere Codierungsmethoden informiert zu bleiben.

Online-Seminar ansehen
Beginnen wir
mehr erfahren

Klicken Sie auf den folgenden Link, um die PDF-Datei dieser Ressource herunterzuladen.

Secure Code Warrior schützt Ihren Code während des gesamten Softwareentwicklungszyklus und hilft Ihnen dabei, eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie Anwendungs-Sicherheitsmanager, Entwickler, CISO oder Sicherheitsbeauftragter sind – wir helfen Ihnen dabei, die mit unsicherem Code verbundenen Risiken zu minimieren.

Bericht anzeigenデモを予約
PDF herunterladen
リソースを表示
シェア:
LinkedIn-MarkenSozialx Logo
もっと興味がありますか?

シェア:
LinkedIn-MarkenSozialx Logo
Autor
ローラ・バーハイド
Veröffentlicht Okt 03, 2022

Laura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und konzentriert sich auf die Untersuchung von Schwachstellen und die Erstellung von Inhalten für Mission Labs und Coding Labs.

シェア:
LinkedIn-MarkenSozialx Logo

Kürzlich gab ein Team von Sicherheitsforschern bekannt, dass es einen 15 Jahre alten Fehler in der Tar-Datei-Extraktionsfunktion von Python gefunden hat. Diese Schwachstelle wurde erstmals 2007 veröffentlicht und unter der Nummer CVE-2007-4559verfolgt. Obwohl ein Hinweis in die offizielle Python-Dokumentation aufgenommen wurde, blieb der Fehler selbst ungepatcht.

Diese Schwachstelle kann Tausende von Softwareprojekten betreffen, doch viele Menschen sind mit der Situation und den Gegenmaßnahmen nicht vertraut. Aus diesem Grund bietet Secure Code WarriorIhnen die Möglichkeit, die Ausnutzung dieser Schwachstelle selbst zu simulieren, die Auswirkungen direkt zu überprüfen und die Funktionsweise dieses hartnäckigen Fehlers hautnah zu erleben. Auf diese Weise können Sie den Schutz Ihrer Anwendungen verbessern.

Simulieren wir es. Mission jetzt.

Vulnerability: Path traversal during tar file extraction

Eine Pastraversal- oder Verzeichnis-Traversal-Sicherheitslücke tritt auf, wenn Dateipfade unter Verwendung nicht bereinigter Benutzereingaben erstellt werden. Dadurch können Angreifer auf Dateien zugreifen, diese überschreiben oder beliebigen Code ausführen.

Diese Schwachstelle besteht in Python im tar-Modul. Eine tar-Datei (Tape Archive) ist eine einzelne Datei, die als Archiv bezeichnet wird. Sie enthält mehrere Dateien und deren Metadaten in einem Paket und hat in der Regel die Erweiterung tar.gz oder tgz. Jedes Element im Archiv ist ein TAR-Informationsobjekt, das Metadaten wie Dateiname, Änderungszeitpunkt und Eigentumsrechte enthält.

Das Risiko besteht darin, dass das Archiv erneut extrahiert werden kann.

Beim Extrahieren ist ein Schreibpfad für alle Mitglieder erforderlich. Dieser Pfad wird durch die Kombination des Basispfads und des Dateinamens erstellt.

Python-Snippet Tarfile.py


このパスが作成されると、に渡されます tar-Datei. Extrahieren oder tar-Datei. Alle extrahieren Funktion zum Ausführen der Extraktion:

Python-Snippet Tarfile.py

Das Problem hierbei ist, dass die Dateinamen nicht saniert werden. Angreifer könnten die Dateinamen so ändern, dass sie Pfadüberschreitungszeichen enthalten, wie z. B. Doppelpunkt-Doppelpunkt-Schrägstrich (../). Dadurch werden die Dateien aus ihrem ursprünglichen Verzeichnis verschoben und überschreiben beliebige Dateien. Dies führt letztendlich dazu, dass Code aus der Ferne ausgeführt und leicht missbraucht werden kann.

Die Schwachstelle tritt auch in anderen Szenarien auf, wenn bestimmte Methoden bekannt sind. Zusätzlich zur Verarbeitung von tar-Dateien mit Python betrifft diese Schwachstelle auch das Extrahieren von zip-Dateien. Dies ist möglicherweise auch unter einem anderen Namen bekannt. Beispielsweise wurde die Zip-Slipp-Schwachstelle auch in anderen Sprachen als Pythonentdeckt!

Link zur Mission 

Wie kann man das Risiko verringern?

Diese Schwachstelle ist seit Jahren bekannt, aber die Python-Maintainer erwarten, dass die extrahierende Funktion das tut, was sie tun soll. In diesem Fall könnten einige sagen, dass es sich nicht um einen Fehler, sondern um eine Funktion handelt. Leider können Entwickler nicht immer vermeiden, tar- oder zip-Dateien aus unbekannten Quellen zu extrahieren. Als Teil sicherer Entwicklungspraktiken liegt es in der Verantwortung der Entwickler, nicht vertrauenswürdige Eingaben zu sanieren und so eine Path-Traversal-Schwachstelle zu verhindern.

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

Probieren Sie uns aus mit unserer kostenlosen Python-Challenge.

Wenn Sie weitere kostenlose Codierungsrichtlinien erhalten möchten, schauen Sie sich Secure Code Coach an. Es hilft Ihnen dabei, stets über sichere Codierungsmethoden informiert zu bleiben.

目次

PDF herunterladen
リソースを表示
もっと興味がありますか?

mehr erfahren

Secure Code Warrior schützt Ihren Code während des gesamten Softwareentwicklungszyklus und hilft Ihnen dabei, eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie Anwendungs-Sicherheitsmanager, Entwickler, CISO oder Sicherheitsbeauftragter sind – wir helfen Ihnen dabei, die mit unsicherem Code verbundenen Risiken zu minimieren.

デモを予約[ダウンロード]
シェア:
LinkedIn-MarkenSozialx Logo
リソースハブ

Ressourcen für den Einstieg

Weitere Beiträge
リソースハブ

Ressourcen für den Einstieg

Weitere Beiträge