Schon 15 Jahre lang ist die Sicherheitslücke im Tarfile-Modul der Programmiersprache Python bekannt, und viele Projekte in Github sind dadurch verwundbar.
Eine Sicherheitslücke (CVE-2007-4559) im Pythons Tarfile-Modul wurde bereits 2007 entdeckt. Als Abhilfemaßnahme wurde vor 15 Jahren einfach nur die Dokumentation angepasst, welche die Programmierer vor der potentiellen Gefahr warnte – ein Patch dagegen wurde laut dem Onlinemagazin Bleepingcomputer nicht veröffentlicht.
Diese Sicherheitslücke befindet sich in dem Code, der die nicht bereinigte Funktion tarfile.extract() oder die eingebauten Standardwerte von tarfile.extractall() nutzt, womit man Tar-Archive entpacken lassen.
Bei der Schwachstelle handelt ist vom Typ „Path Traversal“, und man kann damit den Zielordner der zu entpackenden Datei ändern. Dadurch lassen sich zum Beispiel Dateien überschreiben und so eventuell auch Code ausführen.
Von 350.000 Projekten wurden 11.000 gepatcht
Die Sicherheitsfirma Trellix hat das Problem Anfang des Jahres bei einer Untersuchung wieder entdeckt und überprüfte deshalb manuell 257 Projekte auf Github, bei denen die Wahrscheinlichkeit bestand, dass die Repositories verwundbar sind – und entdeckte in 175 von ihnen diese Sicherheitslücke.
„Mit der Hilfe von Github waren wir in der Lage, einen viel größeren Datensatz zu bekommen, der 588.840 einzigartige Repositories enthält, die ‚import tarfile‘ in ihrem Python-Code enthalten“, schreibt Trellix dazu.
Auf Basis der manuell überprüften Schwachstellenquote von 61 Prozent schätzt Trellix, dass es mehr als 350.000 anfällige Repositories gibt. 11.000 dieser Repositories wurden von Trellix geforkt und Patches dafür erstellt. Diese sollen dann später über Pull Requests in die Hauptprojekte einfließen.
Bisher gibt es nach Angaben von Bleepingcomputer aber keine bekannten Fälle, in denen die Sicherheitslücke aktiv ausgenutzt wurde. Auch in Winrar wurde 2019 so eine Uralt-Sicherheitslücke entdeckt, die schon seit 19 Jahren in dem Packprogramm steckte.