ShellShock: Sicherheitslücke in der Bash¶
Es ist gerade einmal drei Monate her, dass ein kritischer Programmierfehler in der OpenSSL-Bibliothek zur Verschlüsselung von Verbindungen für Aufsehen sorgte. Heartbleed sorgte dafür, dass zahlreiche Server aktualisiert werden und Benutzer ihre Passwörter ändern mussten. Jetzt gibt es mit ShellShock eine neue Sicherheitslücke, diesmal in der Bash, die ähnlich schwerwiegend ist.
Hintergrund des Problem ist, dass es möglich ist, über Umgebungsvariablen beliebigen Code bei der Ausführung einer neuen Shell-Instanz ausführen zu lassen. Wie gezeigt wurde 🇬🇧, sind damit vor allem Webserver, die noch CGI nutzen, leicht angreifbar. Die meisten Linux-Distributoren haben die Lücke bereits behoben, das Update scheint aber dem Fehler noch nicht gänzlich entgegenzuwirken.
Ob das eigene System noch betroffen ist, kann man mittels
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
im Terminal prüfen. Ist das Ergebnis vulnerable, so ist man verwundbar. In dem Fall sollte man schnellsten die vom Distributor bereitgestellten Updates installieren. Bei einem gepatchten System erscheint:
bash: Warnung: x: ignoring function definition attempt bash: Fehler beim Importieren der Funktionsdefinition für »x«. this is a test
Update 30.09.2014¶
Nachdem ShellShock bekannt geworden ist, haben sich Entwickler weltweit darangesetzt, weitere Fehler der Bash aufzudecken. Hierbei sind weitere Lücken zum Vorschein gekommen. Hanno Böck von Golem hat ein Skript bashcheck geschrieben, welches man bei Github herunterladen und ausführen kann, um zu prüfen, welche Lücken die eigene Bash noch aufzeigt. Bei einem teils ungesicherten Ubuntu 12.04 LTS sieht die Ausgabe dann beispielsweise so aus:
$ ./bashcheck bash: Warnung: x: ignoring function definition attempt bash: Fehler beim Importieren der Funktionsdefinition für »x«. Not vulnerable to CVE-2014-6271 (original shellshock) Not vulnerable to CVE-2014-7169 (taviso bug) ./bashcheck: Zeile 18: 2653 Speicherzugriffsfehler (Speicherabzug geschrieben) bash -c "true $(printf '<<EOF %.0s' {1..79})" 2> /dev/null Vulnerable to CVE-2014-7186 (redir_stack bug) Test for CVE-2014-7187 not reliable without address sanitizer Variable function parser still active, likely vulnerable to yet unknown parser bugs like CVE-2014-6277 (lcamtuf bug)
Quellen¶
Pufferüberlauf in APT¶
APT (Advanced Packaging Tool) ist das Paketmanagementsystem unter Debian, Ubuntu und deren Derivate. Diese Woche wurde von Googles Sicherheitsteam ein Fehler in der Paketverwaltung gefunden, der es ermöglicht, Schadcode auszuführen.
Als Angriffsszenario wird ein Man-in-the-middle-Angriff genannt, bei dem der Angreifer manipulierte Pakete einschleust und so einen Pufferüberlauf erzeugt. Hiermit ist es dann möglich, beliebigen Schadcode auszuführen. Problematisch ist dies auch deswegen, da APT in der Regel mit Root-Rechten läuft und somit vollen Zugriff auf das System hat.
Debian und Ubuntu haben bereits Updates bereitgestellt, die man baldmöglichst installieren sollte. Hierbei sollte man am besten darauf achten, die Pakete aus einer vertrauenswürdigen Quelle bzw. einem vertrauenswürdigem Netzwerk zu beziehen.
Letzte Woche wurde bereits eine Lücke bei den Signaturen in APT behoben.