Schwerwiegende Linux-Sicherheitslücke – Auch in MacOS 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.x="() { echo Aloha; }" bash -c "x"
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.test="() { echo Hello; }; echo Hacking" bash -c ""