Über unsMediaKontaktImpressum
25. September 2014

Schwerwiegende Linux-Sicherheitslücke – Auch in MacOS X

Die Linux-Bash ist von einer gravierenden Sicherheitslücke betroffen, die die Code-Ausführung über eine Umgebungsvariable ermöglicht. So lässt sich in Umgebungsvariablen Code einfügen, den die Shell beim Start ausführt, ohne diesen vorab zu prüfen. Das eröffnet zahlreiche Angriffsmöglichkeiten, von denen insbesondere Webserver betroffen sind, die Webskripte mit CGI ausführen. Das Problem wurde von Stephane Chazelas entdeckt und zunächst an das Entwicklerteam von Debian gemeldet. Die Bash ist die am häufigsten genutzte Shell auf Linux-Systemen. Funktionen können hier mittels Umgebungsvariablen definiert werden. Als Funktionsname wird dann der Name der Umgebungsvariablen eingesetzt. Deren Inhalt führt Bash dann aus. Ein Beispiel:

x="() { echo Aloha; }" bash -c "x"

Obige Funktion gibt den Text "Aloha" aus. Findet Bash beim Start eine solche Funktion in einer Umgebungsvariablen, parst sie diese und führt den Code im Hintergrund ungeprüft aus.

test="() { echo Hello; }; echo Hacking" bash -c ""

Von der Sicherheitslücke betroffene Bash-Versionen geben hier den Text "Hacking" aus. Hat ein Angreifer nun die Möglichkeit, auf Umgebungsvariablen zuzugreifen, kann er über diesen Weg die Hintertür des Systems öffnen. Gerade CGI-Skripte von Webservern sind betroffen: Sie setzen häufig Parameter und Pfade der Webanwendung mit Umgebungsvariablen. CGI-Skripte, die die Bash nutzen, können unmittelbar für einen Angriff genutzt werden. RedHat erklät in seinem Security Blog, dass viele Programmiersprachen im Hintergrund die Bash nutzen, wenn ein Systembefehl ausgeführt wird. Dazu zählen beispielsweise Befehle in PHP wie exec() und system(), in c die Befehle popen() und system(), in Python sind es os.popen() und os.system(). Aber auch über OpenSSH kann man ein System angreifen: Git und CVS verwenden im Hintergrund OpenSSH, das implizit eine Shell aufruft. Variablen kann der Client hier modizifieren. Unix- und Linux-Systeme, die die Bash nutzen, sollten daher dringend gepatcht werden. Für die aktuelle Bash 4.3 gibt es den Patch 025, für Bash 4.2 de Patch 048. Die Sicherheitslücke erhielt die ID CVE-2014-6271. Tavis Ormandy, Entwickler bei Google, hat festgestellt, dass die Patches die Lücke noch nicht vollständig beheben. Es wird noch ein weiteres Update notwendig. Die von Ormandy aufgedeckte Sicherheitslücke wurde mit der ID CVE-2014-7169 veröffentlicht.