Open Source im professionellen Einsatz

Ruby: Minitar erlaubt Directory-Traversal-Attacke

Bei »ruby-archive-tar-minitar«, kurz »minitar«, handelt es sich um eine Ruby-Bibliothek zum Verarbeiten von POSIX-Tar-Dateien. Solche Tar-Archive bündeln verschiedene Dateien und sind sehr verbreitet zum schnellen Austausch von Dateien. In der Vergangenheit waren Entpack-Tools- und Bibliotheken solcher Archive immer wieder anfällig für sogenannte Double-Dot- oder Directory-Traversal-Attacken.

Beispielsweise waren immer wieder Zip-Programme anfällig hierfür. Das Problem besteht hierbei immer darin, dass das Archiv selbst Dateinamen der Form »../../../DATEI« enthält. Ist die Software anfällig für eine entsprechende Attacke, so bricht sie beim Entpacken aus dem lokalen Verzeichnis aus und überschreibt möglicherweise andere Dateien auf dem System. Genau eine solche Schwachstelle wurde in minitar entdeckt.

Die eigentliche Schwachstelle ist schon länger bekannt, aber die Distributionen haben erst vor einigen Tagen Advisories herausgegeben. Ein Proof-of-Concept-Exploit für diese Sicherheitslücke wurde schon im August 2016 veröffentlicht:

~/current/tar_symlink# tar -tvf symlink-overwrite.tar
lrwxrwxrwx  0 0      0           0 Jan  1  1970 ../../../../../../../../../../../../../../tmp/qwerty 

Eine solche tar-Datei wird mit minitar wie folgt falsch entpackt:

~/current/tar_symlink# rm -rf /tmp/qwerty1234
~/current/tar_symlink# minitar extract symlink-overwrite.tar
~/current/tar_symlink# ls -al /tmp/qwerty1234

-rwxrwxrwx 1 anon wheel 0 Jan 12 22:44 /tmp/qwerty1234

Betroffen sind die Versionen vor 0.6.

comments powered by Disqus

Ausgabe 04/2017

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.