Open Source im professionellen Einsatz

Kritische Sicherheitslücke in der Bash

25.09.2014

Eine kritische Lücke in der Bash erlaubt es Angreifern, beliebigen Code auszuführen. Dazu genügt es, die Bash vor dem Start mit einer speziellen Umgebungsvariable zu füttern.

187

Um die Lücke auszunutzen, braucht ein Angreifer Zugriff auf eine Bash. Hat er zum Beispiel einen beschränkten Zugriff über SSH, kann er die Beschränkungen dank der Lücke ebenfalls umgehen. Auch Webserver, die mit Bash und CGI hantieren, lassen sich angreifen, indem der Angreifer die HTTP-Anfrage an das CGI-Skript manipuliert.

Wer prüfen möchte, ob ihn die Lücke betrifft, kann gefahrlos das folgende Beispiel ausführen, das aus einem Redhat-Blog stammt:

env x='() { :;}; echo OOPS' bash -c /bin/true

Wie schön zu sehen ist, übergibt der Angreifer der Variable "x" eine Funktion. Nach der Funktionsdefinition aber, und hier liegt das Problem, hört die Bash nicht auf, Code zu parsen. Sie führt auch den Code nach dem zweiten Semikolon aus, im konkreten Fall das "echo OOPS".

Erscheint also nach dem Ausführen der Zeile auf der Bash ein "OOPS" als Ausgabe, ist das System verwundbar. Die großen Linux-Distributionen bieten inzwischen Patches an, die Admins über die Paketverwaltung einspielen. Anschließend erscheint lediglich eine Fehlermeldung, wenn der Nutzer den gezeigten Code ausführt.

Ähnliche Artikel

comments powered by Disqus

Ausgabe 10/2016

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