Zum Hauptinhalt springen
S-EDV news
← Alle News
Sicherheit & Datenschutz 28.06.2026 · 3 min Lesezeit

CPython tarfile: Extraction-Filter-Bypass ermöglicht Verzeichnis-Escape

Eine neue Schwachstelle im tarfile-Modul von CPython ermöglicht es, die seit Python 3.12 eingeführten Extraction-Filter zu umgehen und Dateien außerhalb des Zielverzeichnisses zu schreiben. Die CVE-2026-11940 zugeordnete Lücke betrifft die data und tar Filter.

Illustration zur CPython tarfile Sicherheitslücke mit Extraction Filter Bypass, bei der Archivdateien aus einer Sandbox ausbrechen und Verzeichnisgrenzen umgehen.

Eine neue Schwachstelle im tarfile-Modul von CPython ermöglicht es, die seit Python 3.12 eingeführten Extraction-Filter zu umgehen. Die unter CVE-2026-11940 geführte Lücke betrifft die Filter data und tar und erlaubt es Angreifern, Dateien außerhalb des Zielverzeichnisses zu schreiben.

Was ist passiert?

Die Schwachstelle wurde am 28. Juni 2026 im GitHub Security Advisory GHSA-9mc4-rqmq-h467 und auf der Python Security Mailingliste veröffentlicht. Der Bypass nutzt eine spezielle Kombination aus Hardlinks und Symlinks in einem gezielt erstellten tar-Archiv. Ein Hardlink verweist dabei auf einen Symlink, der an einem tieferen Pfad im Archiv gespeichert ist. Bei der Extraktion validiert der Filter den Symlink an seiner Position im Archiv, stellt ihn aber an dem flacheren Pfad des Hardlinks wieder her. Dadurch kann ein relativer Ziel-Pfad, den der Filter als sicher eingestuft hat, aus dem Zielverzeichnis entkommen. Die Funktion tarfile.extractall mit den Filtern data oder tar ist betroffen.

Wer ist betroffen?

Betroffen sind alle CPython-Distributionen, die das tarfile-Modul mit den Filtern data oder tar enthalten. Die Filter wurden mit PEP 706 in Python 3.12 eingeführt und gelten seitdem als empfohlene Schutzmaßnahme gegen Path-Traversal-Angriffe bei der tar-Extraktion. Anwendungen, die tarfile.extractall mit diesen Filtern zum Entpacken von Nutzer-Inhalten verwenden, sind verwundbar. Dazu zählen Web-Anwendungen, CI/CD-Pipelines und Datenverarbeitungs-Tools.

Wie kritisch ist das?

Die Schwachstelle ermöglicht es Angreifern, Dateien an beliebige Orte im Dateisystem zu schreiben, wenn ein Python-Programm ein gezielt erstelltes tar-Archiv extrahiert. Die Kritikalität hängt vom Kontext ab: In Web-Anwendungen, die Nutzer-Uploads als tar verarbeiten, kann der Angreifer Dateien überschreiben und potenziell Remotecodeausführung erreichen. In CI/CD-Pipelines kann der Bypass zu Supply-Chain-Angriffen führen. Es ist keine aktive Ausnutzung bekannt. CVSS-Score wurde zum Zeitpunkt der Verfassung noch nicht final in NVD eingetragen.

Was sollten Admins jetzt tun?

  1. Python auf die neueste gepatchte Version aktualisieren, sobald der Upstream-Fix verfügbar ist
  2. Anwendungen prüfen, die tarfile.extractall mit data oder tar Filter verwenden
  3. Als Workaround tar-Archive nur aus vertrauenswürdigen Quellen extrahieren
  4. Extraktions-Pfade in Containern oder Sandboxen ausführen, um Auswirkungen zu begrenzen
  5. Python-Anwendungen auf den Einsatz des tarfile-Moduls mit untrusted Input auditieren

Einordnung für Unternehmen

Für Unternehmen, die Python im Backend oder in Datenverarbeitungs-Pipelines einsetzen, ist die Schwachstelle relevant, wenn tar-Archive von externen Quellen verarbeitet werden. Die Extraction-Filter wurden als Sicherheitsmaßnahme eingeführt, und viele Entwickler vertrauen darauf. Der Bypass zeigt, dass Defense-in-Depth auch hier nötig ist. Extraktion in isolierten Umgebungen wie Containern reduziert das Risiko erheblich.

Passende Anleitungen auf S-EDV

  1. WordPress-Supply-Chain-Angriff: ShapePlugin-Pro-Plugins mit Backdoor über offizielle Update-Server ausgeliefert – Ein weiteres Beispiel für Supply-Chain-Angriffe, bei denen scheinbar vertrauenswürdige Quellen bösartigen Code liefern.
  2. GitHub npm v12: Install-Skripte und Git-Abhängigkeiten werden im Juli 2026 standardmäßig blockiert – Wie Plattformen versuchen, Supply-Chain-Risiken in Paket-Repositories einzudämmen.

Quellen

  1. GitHub Security Advisory GHSA-9mc4-rqmq-h467
  2. Python Security Announcement
  3. Daily CyberSecurity: CPython tarfile